Android

 


 

Предварительные действия:

  • _Зарегистрирована ли учетная записьучетная запись Chartboost?
  • _Добавлено ли приложениена панель наблюдения?
  • Загружена липоследняя версия SDK?
  • Активна лиакция публикатора?
  • Для интеграции с Amazon используется тот же SDK, что и для Android. Эта инструкция по интеграции относится к играм как для Google Play, так и для Amazon App Store.
  • Если игра основана на Unity,настоятельно рекомендуетсяиспользовать нашподключаемый модуль Unity для Android.Если требуется использовать SDK Android с собственным адаптером Unity, используйтеэтот метод,чтобы реклама отображалась в игре.
  • SDK Chartboost требует уровня API 9 (Android OS 2.3) или выше.
  • Требуемое разрешение: android.permission.INTERNET
  • Требуемое разрешение: android.permission.ACCESS_NETWORK_STATE
  • Настоятельно рекомендуется:для совместимости с устройствами Android 6.0 настройте для Build and Compile SDK уровень API 23 в файлеbuild.gradle:
    buildToolsVersion = '23.0.0'
    compileSdkVersion = 23
  • Настоятельно рекомендуется:чтобы использовать функции Android 6.0 Marshmallow, настройте для Target SDK проекта уровень API 23 в файлеAndroidManfiest.xml:
    android:targetSdkVersion="23"
  • Необязательное (но рекомендуемое) разрешение: android.permission.WRITE_EXTERNAL_STORAGEпозволяет SDK кэшировать все активы рекламы (креативы, персонализированные рамки и т. д.) во внешней памяти. Таким образом повышается производительность за счет мгновенного предоставления рекламы и снижения расходов сетевого трафика на работу SDK.
  • Необязательное (но рекомендуемое) разрешение: android.permission.ACCESS_WIFI_STATEпозволяет SDK проверять данные WiFi в запросе HTTP. Эти данные используются вместе с идентификатором Android ID и/или GAID в качестве идентификатора пользователя. Ознакомьтесь сидентификаторами устройствдля получения дополнительной информации.
  • Необязательное (но рекомендуемое) разрешение: android.permission.READ_PHONE_STATEПозволяет SDK обрабатывать вызовы, прерывающие воспроизведение видео.

 


 

Добавьтеchartboost.jarв каталогlibs.

  • Если каталогlibsне существует, создайте его и добавьте в него jar-файл.
  • Необязательно:добавьтеchartboost.jar.propertiesи каталогdocв каталогlibs, чтобы использовать Javadocs в своей IDE.

 


 

Добавьте библиотеку Google Play Services в качестве зависимости проекта.

  • Библиотека Google Play Services обладает собственным набором инструкций интеграции, которые включают в себя дополнения к манифесту Android и конфигурации ProGuard.
  • Выполнитеэту инструкцию по настройкеот Google.
Достаточно импортировать в сборку com.google.android.gms:play-services-ads:8.4.0. Импортировать все функции Google Play не требуется.
Можно использовать любую версию выше 8.4.0.

 


 

Добавьте следующую запись в файлAndroidManifest.xml.

<activity android:name="com.chartboost.sdk.CBImpressionActivity" android:excludeFromRecents="true" android:hardwareAccelerated="true" android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen" android:configChanges="keyboardHidden|orientation|screenSize" />
Для сложных интеграций, не включающих CBImpressionActivity, все действия, отображающие рекламу Chartboost, обязательнодолжны иметь значение android:hardwareAccelerated="true"в записи в манифесте Android, в ином случае видео может отображаться некорректно.

 


 

Если реклама Chartboost отображается в каких-либо действиях, поддерживающих разные ориентации, добавьте для таких действий следующий атрибут в файлеAndroidManifest.xml.

android:configChanges="keyboardHidden|orientation|screenSize"
Это позволяет сгладить воспроизведение видео при изменении ориентации.

 


 

Импортируйте SDK Chartboost во все действия, использующие Chartboost

import com.chartboost.sdk.Chartboost; import com.chartboost.sdk.CBLocation; import com.chartboost.sdk.ChartboostDelegate;
import com.chartboost.sdk.Libraries.CBLogging.Level; import com.chartboost.sdk.Model.CBError.CBClickError; import com.chartboost.sdk.Model.CBError.CBImpressionError; import com.chartboost.sdk.Tracking.CBAnalytics; import com.chartboost.sdk.CBImpressionActivity;

 


 

Инициализируйте SDK Chartboost в своем классе действия запуска.

  • Расширьте метод жизненного циклаonCreateсвоего главного действия следующим образом:
public class <your Class name> extends Activity { @Override public void onCreate() { super.onCreate(); Chartboost.startWithAppId(this, appId, appSignature); Chartboost.onCreate(this); } }
  • Также можно автоматически проводить инициализацию средствами SDK, просто расширивChartboostActivity. При этом устраняется необходимость расширять методы жизненного цикла действий, такие какonCreate, и просто вызыватьChartboost.OnCreate().
СОВЕТ:обращайте внимание на сообщение Exception: Initialization errorОно указывает, что SDK не был корректно инициализирован.
СОВЕТ:если SDK Android используется с собственным адаптером Unity, необходимо заявить Unity в качестве прикладной среды немедленно после startWithAppIdс помощью метода Chartboost.setFramework(CBFramework.CBFrameworkUnity, unityVersion);. Замените unityVersionзначением, возвращаемым этой функцией Unity.
startWithAppIdнеобходимо вызывать при жестком и мягком запуске в течение первых нескольких секунд запуска приложения,независимо от каких-либо других действий или взаимодействия с пользователем.

 


 

Добавьте идентификатор приложения и подпись приложения.

 


 

Переопределите методы жизненного цикла своего действия.

  • Добавьте следующий код, расширяющий для действия методыonStart(),onPause(),onResume(),onStop(),OnDestroy ()иonBackPressed():
@Override public void onStart() { super.onStart(); Chartboost.onStart(this); } @Override public void onResume() { super.onResume(); Chartboost.onResume(this); } @Override public void onPause() { super.onPause(); Chartboost.onPause(this); } @Override public void onStop() { super.onStop(); Chartboost.onStop(this); } @Override public void onDestroy() { super.onDestroy(); Chartboost.onDestroy(this); } @Override public void onBackPressed() { // If an interstitial is on screen, close it. if (Chartboost.onBackPressed()) return; else super.onBackPressed(); }

 


 

Отображение рекламных вставок — статических или видео:

Chartboost.cacheInterstitial(CBLocation.LOCATION_DEFAULT); Chartboost.showInterstitial(CBLocation.LOCATION_DEFAULT);
Не вызывайте showInterstitialсразу после cacheInterstitialдля того же пункта: в этом случае произойдет отказ SDK без сообщений об ошибках.
Настоятельно рекомендуетсякэшировать рекламные вставки перед отображением. Дополнительная информация о кэшировании ▶
Подгруженные видео занимают (в совокупности) всего 30–50 МБ, даже если используется посредничество.

 

Отображение видеорекламы с вознаграждением за просмотр:

Chartboost.cacheRewardedVideo(CBLocation.LOCATION_GAMEOVER); Chartboost.showRewardedVideo(CBLocation.LOCATION_GAMEOVER);
Не вызывайте showInterstitialсразу после cacheInterstitialдля того же пункта: в этом случае произойдет отказ SDK без сообщений об ошибках.
Настоятельно рекомендуетсякэшировать рекламные вставки перед отображением. Дополнительная информация о кэшировании ▶
Подгруженные видео занимают (в совокупности) всего 30–50 МБ, даже если используется посредничество.

 

Если используется ProGuard, добавьте следующий код в файлproguard-rules.pro:

-keep class com.chartboost.** { *; }
СОВЕТ:выполните инструкцию Google Play Servicesдля правильной настройки ProGuard.

 


 

Тестирование интеграции.

  • Запустите свой проект на устройстве Android.
  • Если существует активнаяакция публикатораи имеются интегрированные вызовы «показать вставку» или «показать видео с вознаграждением за просмотр», должна отображаться актуальная реклама.
  • Если активных акций публикатора нет, но эти вызовы тем не менее интегрированы, используйтережим тестированиядля проверки отображения тестовой рекламы.
  • Почему в моей игре не отображается реклама?

 


 

Проверка значка SDK на панели наблюдения Chartboost.

  • Перейдите по путиПараметры приложения > Основные параметрына своейпанели наблюдения.
  • Если серверы Chartboost успешно получат вызов запуска от SDK с соответствующим идентификатором приложения, значок SDK под значком приложения сменит цвет с серого на зеленый.

 


 

Ура!SDK Chartboost успешно интегрирован в приложение!

Теперь можнозапускать акцию ▶

 


 

Ознакомьтесь с дополнительными функциями SDK Chartboost

  • Кэширование:чтобы ускорить загрузку рекламы, ее можно хранить на устройствах локально.
  • Видео Chartboost:добавляйте красивую и качественную видеорекламу, чтобы обеспечить пользователям наилучшие впечатления от игры.
  • Именованные пункты:проводите тонкую настройку таргетинга акции и частоты показа рекламы на панели наблюдения.
  • Делегированные методы:еще больше возможностей управления поведением игры при взаимодействии с рекламой.
  • Методы конфигурации SDK:обращайтесь к функциям и параметрам SDK Chartboost.
  • Посредничество:показывайте свою рекламу в водопаде других лучших сетей.

 


 

Использование OpenGL и старых версий SDK Chartboost

<activity android:name="com.chartboost.sdk.CBImpressionActivity" android:excludeFromRecents="true" android:hardwareAccelerated="true" android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen" android:configChanges="keyboardHidden|orientation|screenSize" />
  • Для версии Chartboost SDK 3.4.0 или ниже: cb.setImpressionsUseActivities(true);
  • Для версий Chartboost SDK 4.x: CBPreferences.getInstance().setImpressionsUseActivities(true);
  • Для версий Chartboost SDK 5.x: Chartboost.setImpressionsUseActivities(boolean impressionsUseActivities)Вызовите этот метод в методеonCreate()своего действияпослеинициализации SDK методомstartWithAppId, нопередвызовомChartboost.onCreate()

 


 

Возможно, вас также заинтересует…
  • Коды ошибок:распространенные проблемы при интеграции SDK для Android и их решения.

 

▲ Наверх