Межстраничные объявления


Межстраничная реклама — это полноэкранные объявления, которые закрывают интерфейс приложения до тех пор, пока пользователь их не закроет. Обычно они отображаются в естественных точках перехода в процессе работы приложения, например, между действиями или во время паузы между уровнями в игре. Когда приложение показывает межстраничную рекламу, пользователь может либо нажать на объявление и перейти к следующему шагу, либо закрыть его и вернуться в приложение. Пример из практики .

В этом руководстве показано, как интегрировать межстраничную рекламу в приложения для Android и iOS с помощью Google Mobile Ads C++ SDK.

Предварительные требования

Всегда проводите тестирование с помощью тестовых объявлений.

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

Самый простой способ загрузить тестовые объявления — использовать наш специальный идентификатор тестового рекламного блока для межстраничной рекламы, который различается в зависимости от платформы устройства:

  • Android: ca-app-pub-3940256099942544/1033173712
  • iOS: ca-app-pub-3940256099942544/4411468910

Они специально настроены на возврат тестовых объявлений для каждого запроса, и вы можете свободно использовать их в своих приложениях во время кодирования, тестирования и отладки. Просто убедитесь, что вы заменили его на свой собственный идентификатор рекламного блока перед публикацией приложения.

Для получения дополнительной информации о том, как работают тестовые объявления в Mobile Ads SDK, см. раздел «Тестовые объявления» .

Выполнение

Основные шаги по интеграции межстраничной рекламы:

  1. Загрузить рекламу.
  2. Зарегистрируйтесь для участия в обратном звонке.
  3. Отобразить объявление и управлять событиями его жизненного цикла.

Настройка InterstitialAd

Межстраничные объявления отображаются в объектах InterstitialAd , поэтому первым шагом к интеграции межстраничных объявлений в ваше приложение является создание и инициализация объекта InterstitialAd .

  1. Добавьте следующий заголовочный файл в код вашего приложения на C++:

     #include "firebase/gma/interstial_ad.h"

  2. Объявите и создайте экземпляр объекта InterstitialAd :

     firebase::gma::InterstitialAd* interstitial_ad;
     interstitial_ad = new firebase::gma::InterstitialAd();

  3. Инициализируйте экземпляр InterstitialAd , используя родительский элемент представления, преобразованный в тип AdParent . Родительский элемент представления представляет собой ссылку на объект JNI jobject , указывающую на Android Activity , или указатель на iOS UIView .

    // my_ad_parent is a jobject reference to an Android Activity or
    // a pointer to an iOS UIView.
    firebase::gma::AdParent ad_parent =
      static_cast<firebase::gma::AdParent>(my_ad_parent);
    firebase::Future<void> result = interstitial_ad->Initialize(ad_parent);
    
  4. В качестве альтернативы сохранению будущего значения в качестве переменной, вы можете периодически проверять статус операции инициализации, вызывая метод InitializeLastResult() для объекта InterstitialAd . Это может быть полезно для отслеживания процесса инициализации в глобальном игровом цикле.

    // Monitor the status of the future in your game loop:
    firebase::Future<void> result = interstitial_ad->InitializeLastResult();
    if (result.status() == firebase::kFutureStatusComplete) {
      // Initialization completed.
      if(future.error() == firebase::gma::kAdErrorCodeNone) {
        // Initialization successful.
      } else {
        // An error has occurred.
      }
    } else {
      // Initialization on-going.
    }
    

Для получения дополнительной информации о работе с firebase::Future см. раздел «Использование Future для отслеживания статуса завершения вызовов методов» .

Загрузить рекламу

Загрузка рекламы осуществляется с помощью метода LoadAd() объекта InterstitialAd . Для работы метода load необходимо инициализировать объект InterstitialAd , а также иметь идентификатор рекламного блока и объект AdRequest . Возвращается firebase::Future , который можно использовать для отслеживания состояния и результата операции загрузки.

Следующий код показывает, как загрузить рекламу после успешной инициализации InterstitialAd :

firebase::gma::AdRequest ad_request;
firebase::Future<firebase::gma::AdResult> load_ad_result;
load_ad_result