Андрей, автор HTML5 Game, посоветовал мне Crosswalk, чтобы решить проблемы совместимости со старыми телефонами. Crosswalk — это альтернативный браузер, в который можно завернуть свою HTML5-игру для публикации на Android.
У меня была проблема, что Phaser не воспроизводит звуки при заворачивании в обычный WebView (или Phonegap) на Android 4.4. Завернул в Crosswalk — звуки появились, все норм. Размер дистрибутива увеличился 25 мегабайт — ладно, потерплю.
Для превращения HTML5-игры в APK для Android я использую build.phonegap.com. Это облачный сервис от Adobe. Плюсы:
1. не надо ставить все на свой компьютер
2. очень быстрый билд — буквально секунды (Cocoon в данный момент гораздо дольше билдит)
3. можно работать с разных компьютеров
4. Бесплатный режим
Минусы:
1. Можно деградировать.
2. Исходники надо заливать на GitHub в открытые репозитории — может быть некомфортно, если вам тревожно за свой код.
В защиту вашей тревожности могу сказать, что HTML5-игры действительно легко крадутся — я сам недавно нашел одну игрушку (Шарики-стрелялки) на HTML5, быстро скачал все ее исходники (прямо с Web-страницы), прочитал и понял. Впрочем, там разработчики сами виноваты — никакой обфускации.
Впрочем, обфускацию можно делать и перед заливкой в открытые репозитории. Так что второй минус — это в целом минус HTML5-приложений, как имеющих легко читаемые исходники.
Процесс создания мобильной игры через Build.phonegap
- Пишем HTML5 игру/приложение как обычно, как для web
- Бросаем в корень config.xml (исходник ниже)
- Пушим все на GitHub в открытый репозитарий (разобраться с Git/Github — дело одного вечера даже для полного нуба)
- Заходим на build.phonegap.com через Adobe.id (регистрация — дело пяти минут)
- Выбираем бесплатный план, добавляем приложение, указываем в настройках адрес своего репозитария
- Ждем, пока перестанет мигать индикатор около значка билда ( рядом с полем No key selected на скриншоте)
- Скачиваем готовый APK по клику на кнопке APK
Config.xml для HTML5 игры под build.phonegap.com
Я не использую всю мощь Phonegap/Cordova, поэтому настройки у меня простые — указать иконку, версию приложения, пакет (идентификатор приложения). Ну и добавить Crosswalk — чтобы звуки играли на старых телефонах. Через пару лет, думаю, или даже в 2018 от строчки с crosswalk думаю отказаться.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
<?xml version="1.0" encoding="UTF-8" ?> <widget xmlns = "http://www.w3.org/ns/widgets" xmlns:gap = "http://phonegap.com/ns/1.0" xmlns:cdv="http://cordova.apache.org/ns/1.0" id = "ru.zaxx.match3" versionCode = "10" version = "1.0.0" > <!-- versionCode is optional and Android only --> <name>Simple Match 3</name> <description> Simple Match 3 game </description> <author email="authormail@gmail.com" href="https://authorSite.ru">Name Surname</author> <plugin name="cordova-plugin-crosswalk-webview" spec="2.3.0" /> <plugin name="cordova-plugin-whitelist" spec="1.3.3" /> <content src="index.html" /> <access origin="*"/> <allow-intent href="http://*/*"/> <allow-intent href="https://*/*"/> <allow-intent href="tel:*"/> <allow-intent href="sms:*"/> <allow-intent href="mailto:*"/> <allow-intent href="geo:*"/> <platform name="android"> <allow-intent href="market:*"/> <preference name="enabled" value="true"/> <icon src="img/preloader_logo.png" /> </platform> <access origin="*"/> <preference name="Orientation" value="portrait" /> <preference name="Fullscreen" value="true" /> </widget> |
It`s enough!