Carregar um único anúncio de abertura do app

Os anúncios de abertura do app são um formato do anúncio destinado a publishers que querem gerar receita com as telas de carregamento do app. Os usuários podem fechar os anúncios de abertura do app a qualquer momento. Quando os usuários colocarem o app em primeiro plano, mostre anúncios de abertura do app.

Para mais informações, consulte as orientações sobre anúncios de abertura do app.

Neste guia, explicamos como integrar anúncios de abertura do app a um app Android.

Antes de começar

Antes de continuar, faça o seguinte:

  • Configure o GMA Next-Gen SDK.
  • Use o ID do bloco de anúncios de abertura do app de teste ca-app-pub-3940256099942544/9257395921.
    • Ao criar e testar seu app, use anúncios de teste em vez de anúncios de produção ativos. Se você não usar o ID do bloco de anúncios de teste, o Google poderá suspender sua conta.
    • Antes de publicar o app, substitua esse ID pelo ID do seu bloco de anúncios.
    • Para detalhes sobre os anúncios de teste do GMA Next-Gen SDK, consulte Ativar anúncios de teste.

Carregar um anúncio

O exemplo a seguir carrega um único anúncio:

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

Ao testar, use o ID do bloco de anúncios de teste: ca-app-pub-3940256099942544/9257395921.

Mostrar o anúncio

Para mostrar um anúncio de abertura do app, chame o método show. Os anúncios de abertura do app expiram quatro horas após o carregamento. Não mostre um anúncio de abertura do app que esteja carregando há mais de quatro horas.

O exemplo a seguir mostra o anúncio:

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

Gerenciar inicializações a frio e telas de carregamento

Uma inicialização a frio ocorre quando o app é iniciado do disco, e uma inicialização com estado salvo ocorre quando você reabre o app da memória. Durante uma inicialização a frio, não há um anúncio carregado anteriormente disponível para exibição. Durante uma inicialização sem frio, talvez você ainda tenha um anúncio carregado disponível para exibição.

Durante uma inicialização a frio, os usuários podem interagir com o app antes que ele carregue e mostre um anúncio. Para evitar uma experiência do usuário ruim, mostre anúncios de abertura do app em inicializações a frio estritamente em uma tela de carregamento enquanto os recursos do app são carregados. Enquanto os usuários esperam o carregamento do app, mostre anúncios de abertura do app. Não mostre um anúncio de abertura do app na primeira inicialização do aplicativo. Se o carregamento de recursos for concluído e os usuários acessarem o conteúdo principal antes do carregamento de anúncios, não mostre o anúncio.

Carregue recursos de link para app em uma linha de execução em segundo plano para que o carregamento continue enquanto o anúncio é mostrado. Se a tela de carregamento terminar de carregar enquanto o anúncio é exibido, dispense-a no método de callback de dispensa do anúncio.

Detectar eventos de anúncio

Antes de veicular o anúncio, acompanhe os eventos de ciclo de vida dele. O exemplo a seguir registra callbacks para eventos de anúncio:

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