Как загрузить одно объявление при запуске приложения

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

Подробнее об объявлениях при запуске приложения…

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

Требования

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

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

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

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

/21775744923/example/app-open

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

Подробнее GMA Next-Gen SDK о включении тестовых объявлений…

Как загрузить объявление

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

Kotlin

// 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;
      }
    });

При тестировании используйте идентификатор тестового рекламного блока: /21775744923/example/app-open.

Показ объявления

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

Kotlin

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);
}

Как отслеживать события объявлений

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

Kotlin

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.
        }
      });
}

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

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

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

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

Рекомендации

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

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