Would love 2 android

LÖVE + Android + AdMob = дружба

Однажды возникло желание изучить для своих скромных нужд Lua. Но просто прочесть спецификации и примеры не интересно, и давно была мысль написать свою логическую игру под Android, начались поиски подходящего фреймворка для комфортной работы.

После недолгого просмотра гугла выделились 2 основных кандидата: Corona SDK и LÖVE. Corona SDK обладает, с моей точки зрения, несомненными преимуществами: поддержка, хорошая документация, легкая интеграция разнообразных магазинов/реклам/социальных сетей (нужное подчеркнуть). Несмотря на это, сам SDK платный, нет версии под Linux. Версия Starter обладает рядом ограничений.

После Corona SDK я взялся за внимательное рассмотрение LÖVE. Первым делом подкупила надпись на стартовой странице:

It’s free, open-source, and works on Windows, Mac OS X and Linux.

LÖVE is licensed under the liberal zlib/libpng license. That means you can use it freely for any purpose — including commercial ones.

Есть довольно хорошая документация даже на русском языке. Фреймфорк легок в установке. Как написать игру, используя LÖVE пользователь yegorf1 писал здесь и продолжил здесь. Так, неспешно изучая возможности фреймворка, я написал прототип своего приложения. И здесь началось самое интересное.

Вопрос №1

Как запустить приложение под андроид, чтобы наконец проверить свое «чудо» на любимом смартфоне?
Поиск ответа на этот вопрос навел меня на проект love-android-sdl2, разработчиком которого является Martin Felis. Как пишет автор, проект является портом LÖVE под андроид. По сути это порт Lua на SDL 2.0 под андроид.

  1. Пакуем свое приложение в zip-архив и переименовываем его в game.love
  2. Коприуем архив в папку assets проекта.
  3. Собираем .apk-файл согласно инструкциям для Linux, Windows, Mac OS X. Процесс подробно описан у автора, если кратко его описать, то это несколько шагов:
    1. Установка Android SDK, Android NDK
    2. Утановка Android SDK Platoform-tools, Android SDK Built-tools, Android 4.4.2 (API 19) and the Android Support Library через SDK Manager
    3. Запуск сборки в директории с проектом. Сначала ndk-build, потом ant debug.

На выходе мы имеем .apk-файл, который же можно залить в телефон и наконец потестировать! Как собрать релиз и подписать его, можно подробно почитать здесь.
Итак, ответ на первый вопрос получен. Конечно, сделать быстрое или очень экономное приложение вряд ли получится, но для быстрого прототипирования на Lua или легковесной игры самое то. Почти пустой .apk-файл сразу весит около 5 мб, а основное приложение в ассетах может повергнуть эстетов Java или С++ в легкий шок, хотя насчет последних я не уверен. Можно попробовать убрать ненужные библиотеки, но это уже тема других экспериментов.

Когда приложение стало приобретать все более законченные черты, пришла пора задуматься о возможной монетизации. Конечно, есть вариант совсем для ленивых. Выставить приложение за фиксированную цену и ждать у моря на Мальдивах легкого бриза. Но я себе такого пока позволить не могу, а учитывая таргетирование на андроид, я подумал, что надо так или иначе встроить рекламу. Интеграцией с рекламным сервисом AdMob я никогда не занимался. Учитывая специфику получившегося «бутерброда» из библиотек, мне стало еще интереснее.

Вопрос №2

Как интегрировать AdMob в свое приложение?
Поскольку официальная справка (en и рус) предлагает использовать в этом процесс Eclipse, стало очевидно, что:

  1. Необходимо собрать приложение в Eclipse. Эта часть в основном полезна для новичков. Для этого скачиваем чистый проект love-android-sdl2.
  2. Открываем Eclipse (я использую из ADT Bundle). Создаем новый workspace и добавляем наш проект File → New → Project… → Android → Android Project from Existing Code.

    Далее указываем путь до папки с проектом. Должно определиться 2 проекта: love-android-sdl2 и SDLActivity. Жмем Finish.
  3. Заходим в свойства проекта SDLActivity. Левой кнопкой мыши жмем на проект, выбираем Properties. Далее Android и ставим галочку Is Library. Жмем OK.
  4. Заходим в свойства проекта love-android-sdl2. Java Build Path → вкладка Libraries → Add JARs… → находим SDLActivity/bin/sdlactivity.jar.
  5. Затем идем во вкладку Builders и снимаем галочку напротив [Löve] Generate Internal Scripts.
  6. Нажимаем кнопку Run As… → Android Application.
  7. Ждем пока соберется проект, и Eclipse попросит нас подключить устройство или запустить love-android-sdl2.apk на эмуляторе.
Читайте также:  Android what is activity context

Первая серия экспериментов с использованием официальной справки по интеграции AdMob не привела к успеху. Я обратился за помощью к разработчику проекта, но он ответил, что еще не пробовал добавлять AdMob в свой проект, и что ему бы было тоже интересно, как это сделать.

  1. Следуем инструкциям стандартной справки начиная с раздела 1. Внедрение библиотеки сервисов Google Play в проект. Единственное оговорюсь, что проект google-play-services_lib необходимо добавить сначала из sdk/extras/google/google_play_services/libproject/google-play-services_lib.
  2. Дальше можно сделать Project → Clean… → Clean all project → OK и перезапустить сборку.
  3. Открываем файл love-android-sdl2/src/org.love2d.android/GameActivity.java
  4. Дописываем необходимый код.

  • Пересобираем наше приложение, запускаем, немного ждем и видим сверху рекламу!
  • Ответ на второй и больше всего волнующий меня вопрос был найден. Таким способом мне удалось «подружить» LÖVE, Android и AdMob. Моя игра почти закончена, я надеюсь на скорый релиз. Happy end.

    Источник

    Would love 2 android

    Android build setup for LÖVE.

    Latest commit

    Git stats

    Files

    Failed to load latest commit information.

    README.md

    Android Port of LÖVE, an awesome 2D game engine for Lua (http://love2d.org)
    Copyright (c) 2006-2020 LOVE Development Team

    You can download pre-built Android packages from https://github.com/love2d/love/releases/latest that allow you to run .love files by opening them using a file manager of your choice.

    If you want to build from source, make sure to clone the submodules too. Often errors include missing liblove.so and «Missing LÖVE» error when building. A proper way to clone this repository is:

    Add -b
    and —depth 1 if needed.

    If you already cloned the repository but forgot to initialize the submodules, execute:

    In the repository directory. For the last command, add —depth 1 if needed.

    Before you start, install JDK 11 or later. If you intend to build from Android Studio, skip this step as Android Studio bundles its own JDK 11.

    Install Android SDK with SDK API 31 (31.0.0) and Android NDK 21.3.6528147, set the environment variables ANDROID_SDK_ROOT to your Android SDK location and run.

    in the root folder of this project. This should give you a .apk file in the app/build/outputs/apk/normalRecord subdirectory that you can then sign and install on your phone. The normalRecord .apk flavor is what you normally have when downloading one from https://love2d.org.

    If you want to put your game inside the APK, you can either:

    1. Put all your games in app/src/embed/assets such that your main.lua path is app/src/embed/assets/main.lua ; or
    2. Put your zipped *.love in app/src/embed/assets with name game.love

    And change the package name, application version string and codes, application display name, and the icons. Afterwards, run either gradlew assembleEmbedNoRecordRelease (or gradlew assembleEmbedRecordRelease if your game uses microphone) to generate APK which you can install or gradlew bundleEmbedNoRecordRelease (or gradlew bundleEmbedRecordRelease ) which you can upload to Play Store.

    Alternatively, you can install Android Studio 2020.3.1 or later. After opening it for the first time, open its SDK Manager and on the tab «SDK Tools», tick «Show Package Details» then select NDK (Side By Side) version 21.3.6528147. After that, open the repository root.

    Notice: Previously, the embed + APKTool method is preferred, but recent announcements by Google render that method obsolete.

    Bugs and/or feature requests should be reported to the issue tracker at:

    • Contains all relevant changes for desktop LÖVE 11.3.
    • Added support for microphone recording on Android. This is disabled in Play Store builds.
    • Added t.audio.mic ( false by default). On Android, setting it to true requests microphone recording permission from the user.
    • Fixed performance regression on Android devices with Adreno GPU.
    • Fixed video playback support on Android devices with Adreno GPU.
    • Contains all relevant changes for desktop LÖVE 11.2.
    • Added support for ARM64 devices to comply with Play Store requirements.
    • Fixed love.system.openURL crashing in some cases.
    • Changed target SDK to 28 so it comply with Play Store requirements.
    • Contains all relevant changes for desktop LÖVE 0.10.2.
    • Upgrade of SDL2 to 2.0.5 (fixes an issue with the accelerometer)
    • Contains all relevant changes for desktop LÖVE 0.10.1.
    • Added a new love.conf flag t.externalstorage, which determines whether files are saved in internal or external storage on Android devices.
    • Fixed audio on Android to pause when the app is inactive, and resume when the app becomes active again.
    • Fixed a driver bug on some Android devices which caused all objects to show up as black.
    • Fixed love.graphics.clear(colortable) causing crashes on OpenGL ES 2 systems when a Canvas is active.
    • New icons
    • first official release!
    • Disabled JIT by default as it can cause performance problems. To enable JIT call jit.on()
    • Update to the next love API 0.10.0 (not yet officially released)
    • Added building of libtheora
    • Updated LuaJIT from 2.0.1 to 2.1
    • Fixed a compatibility issue with Android 2.3 devices
    • Updated libogg from 1.3.2. to 1.3.5
    • Updated OpenAL to 1.17.0
    • Updated SDL2 to a dev version of 2.0.4
    • Added bugfix for ParticleSystem:clone
    • updated API to match that of LÖVE 0.9.2
    • love.window.setFullscreen can be used to switch between regular and immersive mode without status and navbar
    • added loading of games by opening a main.lua file
    • quitting LÖVE now conforms to the Android application lifecycle
    • stop vibrator when app is paused
    • fixed battery drain by properly pausing OpenAL device
    • fixed printing of non-number and non-string values
    • fixed compilation of Android NDK r10
    • fixed compilation warnings concerning APP_PLATFORM
    • old instance is shut down when opening a new game (note: it may crash when opening games at a high frequency, e.g. more than 2 per second)
    • updated OpenAL-Soft to version 1.16.0
    • updated to newer SDL version (f9244b2a151)
    • added love.system.vibrate(seconds)
    • print statements are now redirected to logcat. Output is prefixed with «[LOVE] «
    • removed DevIL, libpng, libjpeg, libmng, and libtiff
    • pngs are loaded using lodepng and jpegs using libturbo-jpeg
    • repeatedly fixed a bug which caused Release builds to crash
    • update to latest mobile-common branch
    • using latest SDL_androidgl.c (fixes some random performance issues)
    • using latest love-android @ changeset 8659be0e75a3 (adds support for compressed textures)
    • uses 0.9.1 API
    • fixed crash on Moto G (and possibly other devices). This was a nasty bug that would just show a blue screen without an error message. The bug was resolved using the help of headchant
    • fixed loading of jpegs (it probably hasn’t worked up to now)
    • fixed issues with looping over active touches. This fix was sponsored by slime!

    Источник

    9 приложений для поиска секс-партнера

    Как-то раз зарегистрировалась на TopFace в фейсбуке. В течение часа получила несколько приглашений просто встретиться, а еще несколько — не просто встретиться. Люди, не стесняясь, писали прямо в чате в приложении. Испугавшись такого наплыва, я удалила TopFacе (правда, мой неудаленный аккаунт до сих пор, наверное, плавает где-то внутри сети).

    Чтобы максимально избежать таких «отказных», как я, существуют специальные приложения. Вы узнаете только о тех, кто готов.

    Android приложение готовится к выпуску, можно запросить инвайт на сайте

    Про Pure, наверное, уже слышали все. Миссия приложения — сексуально удовлетворить этот мир.

    Pure провозглашает полную свободу от «ненужного» общения: нет профилей, нет чата, нет возможности поддерживать контакт. Есть только фото и «готовность» переспать с кем-то в ближайшие полчаса-час. Еще нужно указать, готовы ли вы выехать «в гости» или примете партнёра у себя. Приложение показывает тех, кто находится в непосредственной близости. Один такой «билет» стоит $10. Есть также «премиум-аккаунты».

    Pure вошел в ТОП5 самых необычных приложений для знакомств по версии ELLE Россия.

    Для борьбы с недобросовестными пользователями: если человек выложил не свои фотографии или обманул еще каким-то образом, ему закрывают доступ к сервису.

    Чтобы не травмировать пользователей, создатели приложения показывают только положительные ответы. Еще бы.

    Down (ранее Bang with friends )

    По легенде, секс-приложение было разработано за 2 часа тремя двадцатилетними парнями с Ред Буллом и водкой.

    Принцип простой и вы, наверное, его уже опробовали. Приложение показывает ваших друзей из фейсбука — вы отмечаете тех, с кем бы не против. И если он/она тоже оказывается не против, то вам приходит уведомление — а дальше вы сами решаете, что с этим уведомлением делать.

    При установке я не видела, кто из моих друзей уже использует приложение — может, как-то не так установила? Такчто мне показалось оно достаточно анонимным.

    Загвоздка в том, что среди ваших знакомых установили приложение, скорее всего, единицы. Кто-то даже никогда не узнает, что вы его «выбрали»…

    Tinder

    Tinder ищет для вас всех ближайших претендентов, настроенных на знакомство. Нужно зайти с помощью аккаунта Facebook и ввести параметры поиска (возраст, пол, расстояние до объекта) — после этого приложение сканирует ближайшую территорию. А вы выбираете среди предложенных вариантов. В профилях претендентов отображаются несколько фотографий, а также ваши общие интересы и друзья.

    Плюс в том, что у Tinder’а больше пользователей, чем у других подобных приложений — больше шансов все-таки встретить согласного человека и добиться желаемого. Минус в том, что многие пользуются сервисом не для того чтобы найти секс-партнера, а чтобы просто познакомиться с новыми людьми, а то и вовсе по фану — посмотреть на фото людей, ищущих вторую половину.

    Кстати, отклонённые профили нельзя пересмотреть, равно как и одобренные нельзя отменить 😉

    Would love 2

    Это приложение работает по тому же принципу, что и Down: выбираешь, кто из друзей тебе нравится — авось, он/она выберет тебя. Правда, есть один большой минус: WouldLove 2 создан не для секса, а для романтических свиданий. Но кто сказал, что романтические свидания не заканчиваются сексом?

    Lovetime

    Сразу: приложение ищет вам не секс-партнера на одну ночь. А идеальную пару. С помощью кучи-кучи фильтров вы «конструируете» идеальный вариант, а приложение ищет людей, которые на этот вариант похожи. Вы нажимаете сердечко или крестик, листаете дальше и ждёте положительных совпадений.

    Большая часть функционала доступна только за деньги. Без активации VIP вы не увидите, кто именно заинтересовался вашей анкетой, несмотря даже на то, что общее количество лайков будет отображаться. VIP-статус стоит 329 рублей.

    Сообщается, что приложением пользуется более 6 млн людей.

    Grindr

    Я не живу в Санкт-Петербурге, так что немножечко попропагандирую гомосексуализм. Радужное приложение было запущено еще в 2009 году — это такой геолокационный сервис знакомств для геев и бисексуальных мужчин. Находит ближайших к вам мальчиков и позволяет пообщаться в чате и обменяться фотографиями. На сайте приложения сообщается о 5 млн пользователей в 192 странах.

    Кстати, во всех остальных приложениях можно указывать предпочтения — так что геям и бисексуалам необязательно сразу бежать в Grindr. Тем более, отзывы у приложения очень плохие — пишут, что глючит. Бедные мальчики…

    Неработающие приложения

    То же самое, что Down, только интегрировано еще и с «Вконтакте» и «Одноклассниками» (но мешать друзей из фейсбука и «Вконтакте» нельзя — открываются разные страницы). Обещает футболку за 69 совпадений. Подумаешь, 69. Всего-то 69.

    Desktop-приложение, нет iOS или Android-версий. Уведомления о том, что твой интерес совпал с кем-то из друзей, приходят на почту.

    Группа «Вконтакте» не обновлялась с марта 2014, так что возможно, программа уже не поддерживается.

    Приложение с интригующим названием для «Вконтакте». Сообщалось, что когда-то им пользовались до 110 тысяч человек (так было написано на странице приложения). Когда устанавливаешь — не видишь, кто из твоих друзей также им пользуется.

    Все та же схема — выбираешь, кто нравится и ждешь, когда понравишься ему/ей. Твой «выбор» почему-то действовал только 7 дней. Дольше — нужно было заплатить.

    Работало прямо со страницы в соцсети. Больше не поддерживается.

    «Люди, с которыми вы хотите переспать, не всегда у вас в друзьях на фейсбуке», — так гласил сервис, который позволял отмечать понравившихся на… LinkedIn! Схема стандартная — отмечаешь и ждешь, что он/она тоже тебя отметит. А потом вы сами решаете, что с этим делать.

    Однако сервис так и не был запущен — наверное, не смог договориться с соцсетью LinkedIn о расширении ее профессиональных функций.

    Кстати, домен BangWithProfessionals.com сейчас ведет на какой сервис «встреч для удовольствия» CasualClub. Здесь нужно регистрироваться, указывая кучу своих данных — а система сама подбирает вам идеального партнера.

    Уже представляю, как у некоторых в iPhone появляются папки «Переспать» со всевозможными приложениями. Не забывайте все-таки про конфетно-букетный период, всем удачи в поисках и неспокойных ночей.

    Источник

    Читайте также:  Отследить android по гугл аккаунту
    Оцените статью