Как подключить 28 SDK к Flash Develop с помощью одного ANE

2
FGL
Этот туториал мог бы называться «Как подключить Appodeal к проекту на Flash Develop». Или «Как подключить ChartBoost к проекту на Flash Develop». Или «Как подключить AdMob к проекту на Flash Develop». То же самое можно сказать про Flurry, HeyZap, AdColony, Amazon, Unity Ads, Vungle или любой другой SDK из этого списка:
список SDK, которые можно подключить к игре через FGL Enhance

Процесс их подключения максимально упрощён с помощью бесплатного сервиса FGL Enhance. Основной принцип заключается в том, что сначала подключаем к проекту служебный ANE, размечаем моменты вызовов функций из SDK, а затем вшиваем необходимые SDK на место заглушек. Благодаря этому есть возможность обновлять список включённых в игру библиотек простым переключением чекбоксов.
Вот видеотуториал


Туториал состоит из четырёх частей.
І. Подключаем .ane к Flash Develop.
В отличии от Флеша, процесс подключения любого ANE во Flah Develop имеет свои неочевидные особенности и несколько походит на "здесь играть, здесь не играть, а здесь рыбу заворачивали".

1. В проекте создаём две папки: libs и lib. В папке lib создаём подпапку adt
Добавляем файлы
libs/EnhanceAirExtension.swc (и выбираем Add to Library через правую кнопку мыши)
lib/adt/EnhanceAirExtension.ane (и выбираем Add to Library через правую кнопку мыши)
2. Теперь где-то во временном каталоге берём снова EnhanceAirExtension.ane, переименовываем его в EnhanceAirExtension.zip. Распаковываем содержимое в отдельный каталог. Этот каталог переименовываем com.fgl.enhance.airconnector.ane (да-да, именно с расширением).
В нашем проекте помещаем этот каталог сюда:
lib/com.fgl.enhance.airconnector.ane

Вот, между прочим, видео про «здесь играть, здесь не играть»
3. Правим строки в батниках:
в bat/Packager.bat:
БЫЛО
call adt -package -target %TYPE%%TARGET% %OPTIONS% %SIGNING_OPTIONS% "%OUTPUT%" "%APP_XML%" %FILE_OR_DIR%

СТАЛО
call adt -package -target %TYPE%%TARGET% %OPTIONS% %SIGNING_OPTIONS% %OUTPUT% %APP_XML% %FILE_OR_DIR% -extdir lib/adt/


в Run.bat (или в bat/RunApp.bat, в зависимости от того, какой создался флеш девелопом):
БЫЛО
adl -screensize %SCREEN_SIZE% "%APP_XML%" "%APP_DIR%"

СТАЛО
adl -screensize %SCREEN_SIZE% "%APP_XML%" "%APP_DIR%" -extdir lib/


4. Добавляем идентификатор экстеншена в application.xml прямо перед закрывающим тегом
<extensions>
		<extensionID>com.fgl.enhance.airconnector</extensionID>
	</extensions>


Готово, .ane подключён. Без системы FGL Enhance подобные манипуляции понадобилось бы проделывать для любого SDK, который мы хотели бы использовать в игре. Но здесь можно обойтись единственным .ane, чтобы вшить в игру 28 SDK, и это количество постоянно растёт.

ІІ. Добавляем в приложение вызовы функций показа междууровневой рекламы и наградного видео.
В приложении-примере на сцене создаются два круглых спрайта. По нажатию на первый должна показываться междууровневая реклама. Это реализуется следующей строчкой в слушателе:
FglEnhance.showInterstitialAd();


При нажатии на второй покажем видео с наградой за просмотр. Это такая строка:
FglEnhance.showRewardedAd(onGranted, onDeclined, onUnavailable);


Реализация функций onGranted, onDeclined и onUnavailable — ваша задача, как разработчика. Определите, как наградить игрока, которым просмотрел рекламу. А также что делать, если показ отменён или реклама недоступна.

А теперь внимание, ещё одна особенность подключения мобильных .ane во Flash Develop.
Если вы скомпилируете этот проект через Ctrl+Enter, то увидите чёрный экран с сообщением:
The content cannot be loaded because there was a problem loading an extension: Error: Requested extension com.fgl.enhance.airconnector could not be found.
Press any key to continue...

Это норма!

Библиотека для функций Enhance должна работать только на мобильном устройстве. Можете проверить папку /bin: там образовался новый .swf файл. Это значит, что игра успешно собрана. Поэтому запускаем PackageApp.bat (предварительно сгенерировав сретификат).

Видим, что в папке /dist образовался новый .apk файл.

III. Устанавливаем файл .apk на устройство и тестируем его.

По нажатию на первый спрайт видим такую заглушку:
вызов междууровневой рекламы
А по нажатию на второй — такую:
вызов наградного видео
Значит, всё встроено правильно.

IV. Заменяем заглушку на вызовы настоящих рекламных блоков и видео.

Идём на fgl.io/fd
Здесь можно выбрать два варианта: Handle Everything for me или I Want to choos SDK myself.

В первом варианте выбор рекламных сетей будет идти через сам FGL. Нет нужды в каждой сети регистрироваться. А выплаты будут также агрегироваться через FGL и выплачиваться через него.

Во втором варианте можно выбрать список конкретных рекламных сетей, аналогично моему туториалу по встраиванию баннера AdMob'a

Вшиваем актуальные SDK — и приложение готово для заливки в сторы. Если решили попробовать другое набор SDK, не нужно пересобирать .apk, достаточно по-другому выставить галочки.

Вот так FGL Enhance экономит время и деньги разработчиков игр. К примеру, сейчас уже нет нужды покупать у Милкмана Admob ANE за 30 долларов. А скоро можно будет сэкономить ещё 40 долларов на Push ANE, вот немного инсайда:
подготовка к включению Push SDK
  • +7

Комментарии (4)

0
Вобщем, ребята решили полностью раззорить Молочника :)
Шоколадку ему чтоли отправьте какнибудь.
0
А получается мне даже не надо иметь аккаунт admod? Все идет через fgl?
0
Если подключать через Handle everything for me, то не надо, и доходы с разных сеток агрегируются ФГЛом и присылаются разработчику. Если через Choose SDK myself, то получается всё равно что встраивать SDK вручную, но намного быстрее, и с возможностью быстрого апдейта/смены без перебилда приложения
0
Ага понял, спасибо!

А не знаешь решения проблемы, когда после «улучшения» приложения оно не устанавливается на устройство с ошибкой Application Verification Failed, (использую distribution сертификат) а до улучшения ставится нормально?
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.