Руководство к обновлению 6.x: Unity

Последнее обновление:

Это руководство к обновлению поможет вам интегрировать свои игры с новыми Chartboost Unity SDK (версии 6.0 и выше).

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


Требования

Обратите внимание на то, что Chartboost поддерживает Android 2.3+ и iOS 6.0+, поэтому не забудьте задать в своем проекте Unity соответствующие минимальные версии ОС.


Важнейшие изменения

  1. Инициализацией управляет SDK
    • Это упрощает интеграцию и снижает риск возможных проблем после запуска
  2. Пункт Chartboost Menu
    • Упрощены настройка и управление парами AppID/AppSignature (ид. и подпись приложения)
  3. namespace Chartboost переименован в namespace ChartboostSDK
    • В C# не рекомендуется давать тождественные названия пространству имен и классу (класс Chartboost обеспечивает функции открытого API)
  4. null и () больше не принимаются как вариант местоположения; вместо этих значений можно передавать CBLocation.Default
    • Несмотря на то, что у нас все еще есть местоположение по умолчанию, мы рекомендуем пользоваться описательными названиями локаций с помощью класса CBLocation; такой подход сделает аналитику более «говорящей»
  5. Все местоположения теперь передаются через класс CBLocation
    • В классе CBLocation есть несколько распространенных местоположений с предварительно заданными параметрами
    • Строки местоположений, заданные пользователем, теперь передаются через метод locationFromName(string) класса CBLocation
  6. Вызовы страницы «Другие приложения» теперь используют местоположения public static void showMoreApps(CBLocation location)
    • Более детализированный контроль страницы «Другие приложения» (существовал в базовом SDK)
  7. Существенно обновлены и улучшены названия событий Chartboost SDK и подписи методов
    • API и функциональность приведены к более полному соответствию «родным» SDK
    • Подробнее о доступной функциональности событий (старой и новой) можно узнать в файле README.md или на Справочном сайте Chartboost (https://answers.chartboost.com/hc/ru/articles/200780379)
  8. CBBinding.cs, по существу, заменен на Chartboost.cs.  Если вы привыкли вызывать CBBinding.isImpressionVisible(), то теперь можете использовать Chartboost.isAnyViewVisible() (все доступные методы см. в Chartboost.cs).

Обновление до 6.x

    1. Удалите папки прежней версии подключаемого модуля:
      • \Plugins\Android // файлы SDK для Android
      • \Plugins\iOS // файлы SDK для iOS
      • \Plugins\Chartboost // образец проекта
    2. Импортируйте новый пакет SDK:
      • Assets > Import Package > Custom Package
      • Перейдите к файлу .unitypackage, который загрузили из Chartboost, и используйте его
      • Выберите «Import», чтобы завершить действие (по умолчанию, для импорта помечается все содержимое пакета)
    3. Перетащите сборку Chartboost в сцену своей игры из /Assets/Chartboost/Chartboost
    4. Выберите пункт меню Chartboost > Edit Settings:
      • Нажмите кнопку Setup Android SDK в ChartboostSettings (окно Inspector)
      • Замените настройки AppID и AppSignature своими текущими значениями для каждой платформы
    5. Замените все вхождения using Chartboost; на using ChartboostSDK;
    6. Замените все упоминания CBManager.CBImpressionError на CBImpressionError
    7. Удалите в OnEnable() следующий код инициализации Chartboost:
    8. void OnEnable() {
      // Инициализация подключаемого модуля Chartboost
      #if UNITY_ANDROID
      // Замените на ид. и подпись своего приложения для Android из веб-портала Chartboost
       CBBinding.init("CB_APP_ID_ANDROID", "CB_APP_SIG_ANDROID");
      #elif UNITY_IPHONE
      // Замените на ид. и подпись своего приложения для iOS из веб-портала Chartboost
       CBBinding.init("CB_APP_ID_IOS", "CB_APP_SIG_IOS");
      #endif
      }
      
    9. Удалите весь код жизненного цикла Chartboost, связанный с Android (управление кнопкой «Назад», пауза, уничтожение и т. п.), в следующих функциях Unity:
    10. #if UNITY_ANDROID
      public void Update() {
       if (Input.GetKeyUp(KeyCode.Escape)) {
       if (CBBinding.onBackPressed())
       return;
       else
       Application.Quit();
       }
      }
      
      void OnApplicationPause(bool paused) {
      // Управление жизненным циклом подключаемого модуля Chartboost
       CBBinding.pause(paused);
      }
      
      void OnDisable() {
      // Завершение работы подключаемого модуля Chartboost
       CBBinding.destroy();
      }
      #endif
      
    11. Замените устаревшие вызовы Chartboost CBBinding.showInterstitial(YOURLOCATIONHERE); на Chartboost.showInterstitial(YOURLOCATIONHERE);
      • CBBinding переименован в Chartboost
      • Вместо пустых локаций null и () используйте CBLocation.Default
      • Попробуйте использовать различные предварительно заданные значения CBLocation – например, CBLocation.Startup, CBLocation.LevelComplete или CBLocation.MainMenu
      • Если вы все еще пользуетесь строками собственных местоположений, передавайте их через CBLocation: CBBinding.showInterstitial("customLocation"); становится Chartboost.showInterstitial(CBLocation.locationFromName("customLocation"));
    12. Если вы в явном виде проверяете уже кэшированную рекламу, то название используемого для этого метода изменилось:
      • Замените вызовы CBBinding.hasCachedInterstitial(YOURLOCATIONHERE) на Chartboost.hasInterstitial(YOURLOCATIONHERE)
    13. Если вы ведете прием событий Chartboost, то используйте Chartboost вместо CBManager (окончание «Event» в названиях больше не требуется):
      • Например, CBManager.didDismissInterstitialEvent += didDismissInterstitialEvent; становится Chartboost.didDismissInterstitial += didDismissInterstitial;
    14. Если вы ведете прием событий Chartboost, то есть два события, которые нужно обновить, поскольку они более значащие названия:
      • didShowInterstitialEvent следует заменить на didDisplayInterstitial
      • didShowMoreAppsEvent следует заменить на didDisplayMoreApps
    15. Если вы ведете прием событий Chartboost, то для методов, связанных со страницей «Другие приложения», теперь нужен дополнительный параметр string location; это затрагивает:
      • didFailToLoadMoreApps
      • didDismissMoreApps
      • didCloseMoreApps
      • didClickMoreApps
      • didCacheMoreApps
      • К примеру, void didFailToLoadMoreAppsEvent(CBManager.CBImpressionError error) следует заменить на void didFailToLoadMoreApps(string location, CBImpressionError error)

Послеустановочная аналитика

Если вы намерены предлагать в своей игре покупки внутри приложения, то подумайте об интеграции послеустановочной аналитики. Это ключ к полезнейшей информации (выручка, средний доход от одного пользователя, удержание, уровни и многое другое), которая поможет оптимизировать кампании рекламирования и строить собственные группы пользователей для ретаргетинга и сегментации.