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.
- Conclua 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 anúncios de produção publicados. 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 anúncios intersticiais 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 próprio 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
AdManagerInterstitialAd
load()
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 do
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 devem 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
- Considere 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 esse ponto. Considere em quais pontos do fluxo de trabalho do app você vai mostrar anúncios intersticiais e como o usuário provavelmente vai responder.
- Não se esqueça de pausar a ação ao mostrar um anúncio intersticial.
- Existem vários tipos diferentes de anúncios intersticiais: de texto, gráficos, em vídeo e muito mais. É importante garantir que, quando o app mostra um anúncio intersticial, ele também suspende o uso de alguns recursos para permitir que o anúncio aproveite esses recursos. Por exemplo, ao fazer a chamada para mostrar um anúncio intersticial, interrompa qualquer saída de áudio produzida pelo app.
- Aguarde o tempo de carregamento adequado.
- Assim como é importante exibir anúncios intersticiais em um
momento adequado, também é importante garantir que o usuário não precise
esperar o carregamento deles. Carregar o anúncio com antecedência chamando
load()
antes de chamarshow()
pode garantir que o app tenha um anúncio intersticial totalmente carregado quando chegar a hora de exibir um. - Não inunde 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 diminuir as taxas de cliques. Verifique se os usuários não são interrompidos com tanta frequência que não conseguem 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).