Загрузить рекламное объявление, открывающее одно приложение.

SDK с API для однократной загрузки.

Реклама при открытии приложения — это особый формат рекламы, предназначенный для издателей, которые хотят монетизировать экраны загрузки своих приложений. Рекламу при открытии приложения можно закрыть в любой момент, и она предназначена для показа, когда пользователи выводят приложение на передний план.

Для получения дополнительной информации см. руководство по открытию рекламы в приложении .

В этом руководстве объясняется, как интегрировать рекламу, открывающуюся в приложении, в приложение для Android.

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

Настройте GMA Next-Gen SDK .

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

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

Для загрузки тестовых объявлений используйте специальный идентификатор тестового рекламного блока для рекламы, открываемой в Android-приложениях:

ca-app-pub-3940256099942544/9257395921

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

Подробную информацию о тестовой рекламе в GMA Next-Gen SDK см. в разделе «Включить тестовую рекламу» .

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

В следующем примере показано, как загрузить отдельное объявление:

Котлин

// Load ads after you initialize MobileAds.
AppOpenAd.load(
  AdRequest.Builder(adUnitId).build(),
  object : AdLoadCallback<AppOpenAd> {
    override fun onAdLoaded(ad: AppOpenAd) {
      // App open ad loaded.
      appOpenAd = ad
    }

    override fun onAdFailedToLoad(adError: LoadAdError) {
      // App open ad failed to load.
      Log.e(TAG, "App open ad failed to load: ${adError.message}")
      appOpenAd = null
    }
  },
)

Java

// Load ads after you initialize MobileAds.
AppOpenAd.load(
    new AdRequest.Builder(adUnitId).build(),
    new AdLoadCallback<AppOpenAd>() {
      @Override
      public void onAdLoaded(AppOpenAd ad) {
        // App open ad loaded.
        appOpenAd = ad;
      }

      @Override
      public void onAdFailedToLoad(LoadAdError adError) {
        // App open ad failed to load.
        Log.e(TAG, "App open ad failed to load: " + adError.getMessage());
        appOpenAd = null;
      }
    });

При тестировании используйте идентификатор тестового рекламного блока: ca-app-pub-3940256099942544/9257395921 .

Показать рекламу

Чтобы показать рекламу открытия приложения, используйте метод show .

Котлин

private fun showAd(appOpenAd: AppOpenAd, activity: Activity) {
  // Show the ad.
  appOpenAd.show(activity)
}

Java

private void showAd(AppOpenAd appOpenAd, Activity activity) {
  // Show the ad.
  appOpenAd.show(activity);
}

Слушайте рекламные события

Перед показом рекламы прослушайте события жизненного цикла объявления:

Котлин

private fun listenToAdEvents() {
  // Listen for ad events.
  val ad = appOpenAd
  if (ad == null) {
    Log.e(TAG, "App open ad is not ready yet.")
    return
  }

  ad.adEventCallback =
    object : AppOpenAdEventCallback {
      override fun onAdShowedFullScreenContent() {
        // App open ad did show.
      }

      override fun onAdDismissedFullScreenContent() {
        // App open ad did dismiss.
        appOpenAd = null
      }

      override fun onAdFailedToShowFullScreenContent(
        fullScreenContentError: FullScreenContentError
      ) {
        // App open ad failed to show.
        Log.e(TAG, "App open ad failed to show: ${fullScreenContentError.message}")
      }

      override fun onAdImpression() {
        // App open ad did record an impression.
      }

      override fun onAdClicked() {
        // App open ad did record a click.
      }
    }
}

Java

private void listenToAdEvents() {
  // Listen for ad events.
  if (appOpenAd == null) {
    Log.e(TAG, "App open ad is not ready yet.");
    return;
  }

  appOpenAd.setAdEventCallback(
      new AppOpenAdEventCallback() {
        @Override
        public void onAdShowedFullScreenContent() {
          // App open ad did show.
        }

        @Override
        public void onAdDismissedFullScreenContent() {
          // App open ad did dismiss.
          appOpenAd = null;
        }

        @Override
        public void onAdFailedToShowFullScreenContent(
            @NonNull FullScreenContentError fullScreenContentError) {
          // App open ad failed to show.
          Log.e(TAG, "App open ad failed to show: " + fullScreenContentError.getMessage());
        }

        @Override
        public void onAdImpression() {
          // App open ad did record an impression.
        }

        @Override
        public void onAdClicked() {
          // App open ad did record a click.
        }
      });
}

Холодный запуск и экраны загрузки

Холодный старт происходит, когда ваше приложение запускается с нуля, например, когда пользователь открывает ваше приложение впервые или после завершения работы с памятью. Во время холодного старта у вас отсутствует ранее загруженная рекламная вставка, готовая к немедленному показу.

Из-за задержек с запросом рекламы пользователи могут взаимодействовать с вашим приложением до того, как появится рекламное объявление, демонстрируемое при открытии приложения. Чтобы избежать негативного пользовательского опыта, показывайте рекламные объявления при холодном запуске приложения строго с экрана загрузки, пока загружаются ресурсы приложения. Если загрузка ресурсов завершена, и пользователь доходит до основного контента до того, как загрузится реклама, не показывайте рекламу.

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

Передовые методы

Следуйте этим рекомендациям по настройке рекламы при открытии приложений:

  • Рекламное объявление о первом открытии приложения должно отображаться только после того, как пользователь откроет ваше приложение несколько раз.
  • Показывайте рекламу приложения только во время ожидания загрузки приложения.
  • Если загрузка экрана загрузки завершается во время отображения рекламы, закройте экран загрузки в методе обратного вызова `ad dismissed`.