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