Os anúncios intersticiais são anúncios de tela cheia que cobrem a interface do app host. Normalmente, eles são exibidos em pontos de transição naturais no fluxo de um app, como entre atividades ou durante a pausa entre os níveis de um jogo. Quando um app mostra um anúncio intersticial, o usuário pode tocar no anúncio e continuar para o destino ou fechar e retornar ao app.
Este guia explica como integrar anúncios intersticiais a um app Android.
Pré-requisitos
- SDK dos anúncios para dispositivos móveis do Google 19.7.0 ou mais recente.
- Concluir o Guia para iniciantes.
Sempre teste com anúncios de teste
Ao criar e testar seus apps, use anúncios de teste em vez de publicidade de produção ativa. Sua conta poderá ser suspensa se isso não for feito.
A maneira mais fácil de carregar anúncios de teste é usar nosso ID de bloco de anúncios de teste dedicado para interstícios do Android:
/21775744923/example/interstitial
Ele foi configurado especialmente para retornar anúncios de teste para cada solicitação, e você pode usá-lo nos seus próprios apps durante a programação, o teste e a depuração. Basta substituí-lo pelo seu ID de bloco de anúncios antes de publicar o app.
Para mais informações sobre como os anúncios de teste do SDK para dispositivos móveis funcionam, consulte Anúncios de teste.
Carregar um anúncio
Para carregar um anúncio intersticial, chame o método estático
load()
AdManagerInterstitialAd
e transmita um
AdManagerInterstitialAdLoadCallback
para receber o anúncio
carregado ou possíveis erros. Assim como outros callbacks de carregamento de formato,
AdManagerInterstitialAdLoadCallback
usa
LoadAdError
para fornecer detalhes de erro de maior fidelidade.
Java
import com.google.android.gms.ads.admanager.AdManagerInterstitialAd;
import com.google.android.gms.ads.admanager.AdManagerInterstitialAdLoadCallback;
public class MainActivity extends Activity {
private AdManagerInterstitialAd mAdManagerInterstitialAd;
private static final String TAG = "MainActivity";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
AdManagerAdRequest adRequest = new AdManagerAdRequest.Builder().build();
AdManagerInterstitialAd.load(this,"/21775744923/example/interstitial", adRequest,
new AdManagerInterstitialAdLoadCallback() {
@Override
public void onAdLoaded(@NonNull AdManagerInterstitialAd interstitialAd) {
// The mAdManagerInterstitialAd reference will be null until
// an ad is loaded.
mAdManagerInterstitialAd = interstitialAd;
Log.i(TAG, "onAdLoaded");
}
@Override
public void onAdFailedToLoad(@NonNull LoadAdError loadAdError) {
// Handle the error
Log.d(TAG, loadAdError.toString());
mAdManagerInterstitialAd = null;
}
});
}
}
Kotlin
import com.google.android.gms.ads.admanager.AdManagerInterstitialAd;
import com.google.android.gms.ads.admanager.AdManagerInterstitialAdLoadCallback;
class MainActivity : AppCompatActivity() {
private var mAdManagerInterstitialAd: AdManagerInterstitialAd? = null
private final val TAG = "MainActivity"
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val adRequest = AdManagerAdRequest.Builder().build()
AdManagerInterstitialAd.load(this,"/21775744923/example/interstitial", adRequest, object : AdManagerInterstitialAdLoadCallback() {
override fun onAdFailedToLoad(adError: LoadAdError) {
Log.d(TAG, adError?.toString())
mAdManagerInterstitialAd = null
}
override fun onAdLoaded(interstitialAd: AdManagerInterstitialAd) {
Log.d(TAG, 'Ad was loaded.')
mAdManagerInterstitialAd = interstitialAd
}
})
}
}
Definir o FullScreenContentCallback
O FullScreenContentCallback
processa eventos relacionados à exibição da
InterstitialAd
. Antes de mostrar InterstitialAd
, defina o
callback:
Java
mAdManagerInterstitialAd.setFullScreenContentCallback(new FullScreenContentCallback(){
@Override
public void onAdClicked() {
// Called when a click is recorded for an ad.
Log.d(TAG, "Ad was clicked.");
}
@Override
public void onAdDismissedFullScreenContent() {
// Called when ad is dismissed.
// Set the ad reference to null so you don't show the ad a second time.
Log.d(TAG, "Ad dismissed fullscreen content.");
mAdManagerInterstitialAd = null;
}
@Override
public void onAdFailedToShowFullScreenContent(AdError adError) {
// Called when ad fails to show.
Log.e(TAG, "Ad failed to show fullscreen content.");
mAdManagerInterstitialAd = null;
}
@Override
public void onAdImpression() {
// Called when an impression is recorded for an ad.
Log.d(TAG, "Ad recorded an impression.");
}
@Override
public void onAdShowedFullScreenContent() {
// Called when ad is shown.
Log.d(TAG, "Ad showed fullscreen content.");
}
});
Kotlin
mAdManagerInterstitialAd?.fullScreenContentCallback = object: FullScreenContentCallback() {
override fun onAdClicked() {
// Called when a click is recorded for an ad.
Log.d(TAG, "Ad was clicked.")
}
override fun onAdDismissedFullScreenContent() {
// Called when ad is dismissed.
Log.d(TAG, "Ad dismissed fullscreen content.")
mAdManagerInterstitialAd = null
}
override fun onAdFailedToShowFullScreenContent(adError: AdError?) {
// Called when ad fails to show.
Log.e(TAG, "Ad failed to show fullscreen content.")
mAdManagerInterstitialAd = null
}
override fun onAdImpression() {
// Called when an impression is recorded for an ad.
Log.d(TAG, "Ad recorded an impression.")
}
override fun onAdShowedFullScreenContent() {
// Called when ad is shown.
Log.d(TAG, "Ad showed fullscreen content.")
}
}
Mostrar o anúncio
Os anúncios intersticiais precisam ser exibidos durante pausas naturais no fluxo de um app.
Entre as fases de um jogo é um bom exemplo, ou depois que o usuário conclui uma tarefa.
Para mostrar um intersticial, use o
método show()
.
Java
if (mAdManagerInterstitialAd != null) {
mAdManagerInterstitialAd.show(MyActivity.this);
} else {
Log.d("TAG", "The interstitial ad wasn't ready yet.");
}
Kotlin
if (mAdManagerInterstitialAd != null) {
mAdManagerInterstitialAd?.show(this)
} else {
Log.d("TAG", "The interstitial ad wasn't ready yet.")
}
Algumas práticas recomendadas
- Avalie se os anúncios intersticiais são o tipo certo de anúncio para seu app.
- Os anúncios intersticiais funcionam melhor em apps com pontos de transição naturais. A conclusão de uma tarefa em um app, como compartilhar uma imagem ou passar de fase em um jogo, cria um ponto como esse. Considere em quais pontos do fluxo de trabalho do app você vai mostrar anúncios intersticiais e qual a probabilidade de o usuário responder.
- Lembre-se de pausar a ação ao exibir um anúncio intersticial.
- Há vários tipos diferentes de anúncios intersticiais: de texto, de imagem, em vídeo e muito mais. É importante garantir que, quando o app exibe um anúncio intersticial, ele também suspende o uso de alguns recursos para permitir que o anúncio faça uso deles. Por exemplo, ao fazer uma chamada para exibir um anúncio intersticial, pause a saída de áudio que esteja sendo produzida pelo app.
- Conceda tempo suficiente para o carregamento.
- Tão importante quanto garantir a exibição de anúncios intersticiais em um
momento adequado, é importante garantir que o usuário não precise
esperar o carregamento. Carregar o anúncio com antecedência chamando
load()
antes de chamarshow()
pode garantir que o app tenha um anúncio intersticial totalmente carregado pronto para quando o momento de exibição chegar. - Não sobrecarregue o usuário com anúncios.
- Embora aumentar a frequência dos anúncios intersticiais no seu app possa parecer uma ótima maneira de aumentar a receita, isso também pode prejudicar a experiência do usuário e reduzir as taxas de cliques. Certifique-se de que os usuários não sejam interrompidos com muita frequência de modo que não possam mais usar o app.
Exemplos no GitHub
Próximas etapas
- Saiba mais sobre a segmentação de anúncios.
- Saiba mais sobre a privacidade do usuário.
- Conheça a inicialização otimizada do SDK e o carregamento de anúncios (Beta).