Advertisement — различия между версиями

Материал из wiki.appsalutecreator.com
Перейти к: навигация, поиск
(Коды ошибок)
Строка 54: Строка 54:
 
Для обработки ошибок использовать [[Errormanager|ErrorManager]].
 
Для обработки ошибок использовать [[Errormanager|ErrorManager]].
  
==Настройки==
 
  
Есть возможность использовать внешний конфигурационный файл. Для этого необходимо в [[app.icf]] указать:
+
==Симулятор==
<pre>
 
[Advertisement]
 
ConfigUrl="http://url_to_file"
 
</pre>
 
  
 +
Для работы симулятора рекламы на редакторном вьювере необходимо добавить в app.icf параметры:
  
==Параметры для файла конфигурации==
+
  [Game]
 +
  bundle="%id_game"
 +
  [Game]
 +
  VersionMain=%m
 +
  VersionGraphic=%g
 +
  VersionLogic=%l
  
 +
где:
 +
%id_game - бандл игры, соответствующий файлу конфигурации рекламы,
 +
%m, %g, %l - номер версии игры, соответствующий файлу конфигурации рекламы.
  
*'''type''' - подтип рекламы: fullscreen=0, banner top=1, banner bottom=2, rewarded=3;
+
При вызове состояния ''show'' объекту на экране появится черный прямоугольник с названием placement'а вызванной рекламы. Esc симулирует закрытие рекламы и вызов ''ошибки 4'' (показ рекламы отменен пользователем). Enter симулирует закрытие рекламы и вызов обработчика ''реклама успешно показана''.
  
*'''startDays''' - количество дней, начиная с которого показывается реклама;
 
 
*'''startSession''' - количество запусков, начиная с которого показывается реклама;
 
 
*'''startGameplayTime''' - суммарное время геймплея, начиная с которого показывается реклама;
 
 
*'''showInterval''' - минимальный интервал (в секундах) между показами рекламы;
 
 
*'''showFirst''' - первый вызов показа рекламы, когда она покажется (в рамках одной сессии);
 
 
*'''showSkip''' - количество пропусков между показами рекламы (в рамках одной сессии);
 
 
*'''showMax''' - максимальное количество показов за сессию";
 
 
*'''events''' - количесто событий, достигая которого, реклама показывается принудительно;
 
 
 
 
'''все параметры являются параметрами по-умолчанию, и при получении файла настроек рекламы, будут использоваться настройки рекламы из файла'''
 
 
 
 
Объект сам показывает рекламу если выполняются условия(текущее значение больше либо равно заданному). Условия '''дни''', '''запуски''', '''время сессии''', '''часы''' проверяются через логическое "и", то есть все 4 должны выполняться одновременно. '''события''' и временные условия проверяются через логическое "или". То есть банер покажется когда или выполняются временные условия, или когда количество событий совпадает с заданным значением или больше. После показа банера при совпадении количества событий - счётчик событий сбрасывается.
 
 
Показ рекламы можно включать и отключать через параметр ''ad'' в объекте типа [[Options]]
 
 
 
 
 
 
=Настройки провайдеров=
 
 
==Google Mobile Ads (admob)==
 
при добавлении в качестве провайдера в advertisiment необходимо указать рекламный id в добавляемое поле "имя"
 
 
Настройки для манифестов:
 
 
<pre>
 
<meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />
 
<!-- Activity required to show ad overlays. -->
 
<activity android:name="com.google.android.gms.ads.AdActivity" android:theme="@android:style/Theme.Translucent" android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>
 
<activity android:name="com.facebook.ads.InterstitialAdActivity" android:configChanges="keyboardHidden|orientation|screenSize" />
 
<activity android:name="com.flurry.android.FlurryFullscreenTakeoverActivity" android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" />
 
<activity android:name="com.jirbo.adcolony.AdColonyOverlay" android:configChanges="keyboardHidden|orientation|screenSize" android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen" />
 
<activity android:name="com.jirbo.adcolony.AdColonyFullscreen" android:configChanges="keyboardHidden|orientation|screenSize" android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" />
 
<activity android:name="com.jirbo.adcolony.AdColonyBrowser" android:configChanges="keyboardHidden|orientation|screenSize" android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" />
 
</pre>
 
 
 
<pre>
 
<!-- Used to request banner and interstitial ads. -->
 
<uses-permission android:name="android.permission.INTERNET"/>
 
<!-- Used to avoid sending an ad request if there is no connectivity. -->
 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
 
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
 
<uses-permission android:name="com.google.android.providers.gsf.permission.WRITE_GSERVICES" />
 
<uses-permission android:name="android.permission.VIBRATE" />
 
</pre>
 
 
настройки app.icf:
 
 
<pre>
 
[s3eAbsGoogleMobileAds]
 
TestDevice0="device id" - id устройства. Можно получить с помощью приложения
 
(https://play.google.com/store/apps/details?id=pe.go_com.admobdeviceidfinder )
 
 
VideoUnitID="unit id" - ключ из админки
 
</pre>
 
 
==Playhaven==
 
 
[[Playhaven]]
 
 
==Chartboost==
 
 
[[Chartboost]]
 
 
==Flurry==
 
 
[[Flurry]]
 
 
==Amazon==
 
 
Для работы рекламы от Amazon должен быть указан соответствующий тип рекламы, а также указаны следующие настройки в [[app.icf]]:
 
 
<pre>
 
 
[s3eAmazonAds]
 
app_key="sample-app-v1_pub-2"
 
logging=1
 
testing=1
 
 
</pre>
 
 
'''app_key''' - ключ для рекламы
 
 
'''logging''' - вести логи показа, полезно для отладки
 
 
'''testing''' - режим тестирования
 
 
По умолчанию logging и testing равны 1, поэтому при релизе значение обоих параметров необходимо принудительно устанавливать в 0.
 
 
В итоговый ''AndroidManifest.xml'' должны быть добавлены следующие строки:
 
 
<pre>
 
 
<activity android:name="com.amazon.device.ads.MraidBrowser" android:configChanges="keyboardHidden|orientation"/>
 
<activity android:name="com.amazon.device.ads.VideoActionHandler" android:configChanges="keyboardHidden|orientation|screenSize"/>
 
 
</pre>
 
 
('''с вьювера версии от 10.07.2014 должны быть следующие строки''':
 
 
<pre>
 
<activity android:name="com.amazon.device.ads.AdActivity" android:configChanges="keyboardHidden|orientation|screenSize"/>
 
</pre>
 
 
)
 
 
Также должны быть следующие разрешения:
 
 
<pre>
 
 
<uses-permission android:name="android.permission.INTERNET" />
 
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
 
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
 
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
 
 
</pre>
 
 
более подробно про рекламу от amazon: https://developer.amazon.com/sdk/mobileads/quick-start.html
 
 
 
 
=Дополнительные сведения=
 
 
* ''AndroidManifest.xml'' находится обычно в каталоге ''%s3e_dir%\deploy\plugins\android''
 
 
* Также можно вместо ''AndroidManifest.xml'' вносить соответствующие настройки  в ''android-extra-application-manifest.xml'' и ''android-extra-manifest.xml'', которые находятся в каталоге
 
''%каталог_редактора%\system\marmalade\conf\%марект%(к примеру android)''
 
 
* Объект при загрузке экрана не переводится автоматически в состояние show, в это состояние его надо переводить машиной или другим объектом.
 
 
* Если выбран режим банера '''fullscreen''', то при показе банера все действия в приложении "ставятся на паузу", возврат в игру возможен только при закрытии банера, если выбран другой режим отображения - приложение во время показа "на паузу" не ставится, то есть все действия продолжают выполняться.
 
 
* <span style="background-color:yellow">Для работы Chartboost на ios необходима версия ос не ниже 6-й</span>
 
  
 
[[Category:Options]]
 
[[Category:Options]]
 
[[Category:Реклама]]
 
[[Category:Реклама]]

Версия 13:21, 18 апреля 2017

Объект Advertisement позволяет отображать рекламу разных типов. Объект должен находиться на экране, на котором необходимо показать рекламу, либо на глобальном экране. Данный объект предназначен для соблюдения условий запуска рекламы. Огромный плюс, что большинство настроек, могут задавать удалённо маркетологи.


Параметры

  • синхронизация - не синхронизировать=0, синхронизировать=1;
  • сохранение параметров - нет=0, только объект=1, объект с подобъектами=2, только подобъекты=3;
  • placement - Идентификатор места показа рекламы в игре.


Добавляемые параметры

+.png реклама готова к показу: изменить состояние объекта

  • объект - Объект, состояние которого нужно изменить;
  • состояние - Новое состояние объекта.


+.png реклама готова к показу: изменить свойство объекта

  • объект - Объект, свойство которого нужно изменить;
  • свойство - Свойство, которое нужно изменить.
  • значение - Новое значение свойства.


+.png реклама успешно показана: изменить состояние объекта

  • объект - Объект, состояние которого нужно изменить;
  • состояние - Новое состояние объекта.


Состояния

  • show - показать рекламу.


Коды ошибок

  • 0 - AD_ERROR_NONE = 0 - все хорошо, ошибок нет;
  • 1 - AD_ERROR_SKIP = 1 - показывать нечего (нет ни одного активного провайдера рекламы, нужно спрятать кнопки показа);
  • 2 - AD_ERROR_INTERNET = 2 - ошибка отсутствия интернета;
  • 3 - AD_ERROR_NOT_FOUND = 3 - запрос на показ рекламы был отправлен, но реклама по данному запросу отсутствует;
  • 4 - AD_ERROR_CANCELED = 4 - показ рекламы был отменен пользователем.

Для обработки ошибок использовать ErrorManager.


Симулятор

Для работы симулятора рекламы на редакторном вьювере необходимо добавить в app.icf параметры:

 [Game]
 bundle="%id_game"
 [Game]
 VersionMain=%m
 VersionGraphic=%g
 VersionLogic=%l

где: %id_game - бандл игры, соответствующий файлу конфигурации рекламы, %m, %g, %l - номер версии игры, соответствующий файлу конфигурации рекламы.

При вызове состояния show объекту на экране появится черный прямоугольник с названием placement'а вызванной рекламы. Esc симулирует закрытие рекламы и вызов ошибки 4 (показ рекламы отменен пользователем). Enter симулирует закрытие рекламы и вызов обработчика реклама успешно показана.