Os anúncios intersticiais ocupam toda a tela e cobrem a interface do app host. Geralmente, eles aparecem em momentos de transição natural 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 nele e continuar até o destino ou fechá-lo e voltar para o app. Leia um dos nossos estudos de caso.
Neste guia, explicamos como integrar anúncios intersticiais a um app Android.
Pré-requisitos
Sempre use anúncios de teste
Ao criar e testar seus apps, use anúncios de teste em vez de anúncios de produção ativos. 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 intersticiais do Android:
ca-app-pub-3940256099942544/1033173712
Ele foi configurado especialmente para retornar anúncios de teste em todas as solicitações e pode ser usado nos seus próprios apps durante a programação, os testes e a depuração. Substitua pelo ID do seu bloco de anúncios antes de publicar o app.
Para mais informações sobre como os anúncios de teste do SDK de última geração do GMA funcionam, consulte Anúncios de teste.
Carregar um anúncio
Para carregar um anúncio, o SDK de última geração do GMA oferece o seguinte:
Carregue com a API de carregamento de um único anúncio.
Carregue com a API de pré-carregamento de anúncios, que elimina a necessidade de carregamento e armazenamento em cache manuais.
Carregar com a API de carregamento de um único anúncio
O exemplo a seguir mostra como carregar um único anúncio:
Kotlin
import com.google.android.libraries.ads.mobile.sdk.common.AdLoadCallback
import com.google.android.libraries.ads.mobile.sdk.common.AdRequest
import com.google.android.libraries.ads.mobile.sdk.common.FullScreenContentError
import com.google.android.libraries.ads.mobile.sdk.common.LoadAdError
import com.google.android.libraries.ads.mobile.sdk.interstitial.InterstitialAd
import com.google.android.libraries.ads.mobile.sdk.interstitial.InterstitialAdEventCallback
import com.google.android.libraries.ads.mobile.sdk.MobileAds
class InterstitialActivity : Activity() {
private var interstitialAd: InterstitialAd? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// Load ads after you initialize GMA Next Gen SDK.
InterstitialAd.load(
AdRequest.Builder(AD_UNIT_ID).build(),
object : AdLoadCallback<InterstitialAd> {
override fun onAdLoaded(ad: InterstitialAd) {
// Interstitial ad loaded.
interstitialAd = ad
}
override fun onAdFailedToLoad(adError: LoadAdError) {
// Interstitial ad failed to load.
interstitialAd = null
}
},
)
}
companion object {
// Sample interstitial ad unit ID.
const val AD_UNIT_ID = "ca-app-pub-3940256099942544/1033173712"
}
}
Java
import com.google.android.libraries.ads.mobile.sdk.common.AdLoadCallback;
import com.google.android.libraries.ads.mobile.sdk.common.AdRequest;
import com.google.android.libraries.ads.mobile.sdk.common.FullScreenContentError;
import com.google.android.libraries.ads.mobile.sdk.common.LoadAdError;
import com.google.android.libraries.ads.mobile.sdk.interstitial.InterstitialAd;
import com.google.android.libraries.ads.mobile.sdk.interstitial.InterstitialAdEventCallback;
import com.google.android.libraries.ads.mobile.sdk.MobileAds;
class InterstitialActivity extends Activity {
// Sample interstitial ad unit ID.
private static final String AD_UNIT_ID = "ca-app-pub-3940256099942544/1033173712";
private InterstitialAd interstitialAd;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Load ads after you initialize GMA Next Gen SDK.
InterstitialAd.load(
new AdRequest.Builder(AD_UNIT_ID).build(),
new AdLoadCallback<InterstitialAd>() {
@Override
public void onAdLoaded(@NonNull InterstitialAd interstitialAd) {
// Interstitial ad loaded.
AdLoadCallback.super.onAdLoaded(interstitialAd);
InterstitialActivity.this.interstitialAd = interstitialAd;
}
@Override
public void onAdFailedToLoad(@NonNull LoadAdError adError) {
// Interstitial ad failed to load.
AdLoadCallback.super.onAdFailedToLoad(adError);
interstitialAd = null;
}
}
);
}
}
Carregar com a API de pré-carregamento de anúncios
Para iniciar o pré-carregamento, faça o seguinte:
Inicialize uma configuração de pré-carregamento com uma solicitação de anúncio.
Inicie o pré-carregador para anúncios intersticiais com o ID do bloco de anúncios e a configuração de pré-carregamento:
Kotlin
private fun startPreloading(adUnitId: String) {
val adRequest = AdRequest.Builder(adUnitId).build()
val preloadConfig = PreloadConfiguration(adRequest)
InterstitialAdPreloader.start(adUnitId, preloadConfig)
}
Java
private void startPreloading(String adUnitId) {
AdRequest adRequest = new AdRequest.Builder(adUnitId).build();
PreloadConfiguration preloadConfig = new PreloadConfiguration(adRequest);
InterstitialAdPreloader.start(adUnitId, preloadConfig);
}
Os anúncios são disponibilizados continuamente à medida que você os mostra. O exemplo a seguir pesquisa um anúncio do pré-carregador:
Kotlin
// Polling returns the next available ad and loads another ad in the background.
val ad = InterstitialAdPreloader.pollAd(adUnitId)
Java
// Polling returns the next available ad and loads another ad in the background.
final InterstitialAd ad = InterstitialAdPreloader.pollAd(adUnitId);
Definir o InterstitialAdEventCallback
O InterstitialAdEventCallback processa eventos relacionados à exibição do seu InterstitialAd. Antes de mostrar o anúncio intersticial, defina o
callback:
Kotlin
// Listen for ad events.
interstitialAd?.adEventCallback =
object : InterstitialAdEventCallback {
override fun onAdShowedFullScreenContent() {
// Interstitial ad did show.
}
override fun onAdDismissedFullScreenContent() {
// Interstitial ad did dismiss.
interstitialAd = null
}
override fun onAdFailedToShowFullScreenContent(
fullScreenContentError: FullScreenContentError
) {
// Interstitial ad failed to show.
interstitialAd = null
}
override fun onAdImpression() {
// Interstitial ad did record an impression.
}
override fun onAdClicked() {
// Interstitial ad did record a click.
}
}
Java
// Listen for ad events.
interstitialAd.setAdEventCallback(
new InterstitialAdEventCallback() {
@Override
public void onAdShowedFullScreenContent() {
// Interstitial ad did show.
InterstitialAdEventCallback.super.onAdShowedFullScreenContent();
}
@Override
public void onAdDismissedFullScreenContent() {
// Interstitial ad did dismiss.
InterstitialAdEventCallback.super.onAdDismissedFullScreenContent();
interstitialAd = null;
}
@Override
public void onAdFailedToShowFullScreenContent(
@NonNull FullScreenContentError fullScreenContentError) {
// Interstitial ad failed to show.
InterstitialAdEventCallback.super.onAdFailedToShowFullScreenContent(
fullScreenContentError);
initerstitialAd = null;
}
@Override
public void onAdImpression() {
// Interstitial ad did record an impression.
InterstitialAdEventCallback.super.onAdImpression();
}
@Override
public void onAdClicked() {
// Interstitial ad did record a click.
InterstitialAdEventCallback.super.onAdClicked();
}
}
);
Mostrar o anúncio
Para mostrar um anúncio intersticial, use o método show().
Kotlin
// Show the ad.
interstitialAd?.show(this@InterstitialActivity)
Java
// Show the ad.
interstitialAd.show(InterstitialActivity.this);
Algumas práticas recomendadas
- Avalie se os anúncios intersticiais são o tipo certo para seu app.
- Eles funcionam melhor em apps com momentos de transição natural. Esses momentos são criados pela conclusão de uma tarefa dentro de um aplicativo, como o compartilhamento de uma imagem ou o término de um nível do jogo. Analise em quais pontos do fluxo do seu aplicativo você vai exibir os anúncios intersticiais e como o usuário provavelmente responderá a eles.
- Pause a ação ao exibir um anúncio intersticial.
- Há vários tipos diferentes de anúncios intersticiais: texto, imagem, vídeo e muito mais. É importante garantir que, quando seu aplicativo exibir um desses anúncios, ele também suspenda o uso de alguns recursos para que o anúncio possa aproveitá-los. Por exemplo, ao realizar a chamada para exibir um anúncio intersticial, pause todas as saídas de áudio que estiverem sendo produzidas pelo seu app.
- Permita um tempo de carregamento adequado.
- Garantir que os anúncios intersticiais sejam exibidos no momento apropriado é tão importante quanto garantir que o usuário não tenha que esperar o carregamento deles. Carregue o anúncio com antecedência chamando
load()antes de chamarshow(). Isso garante que seu app terá um anúncio intersticial totalmente carregado quando chegar o momento da veiculação. - Não exiba anúncios em excesso aos usuários.
- Embora aumentar a frequência de anúncios intersticiais no seu app possa parecer uma ótima forma de gerar mais receita, isso também prejudica a experiência do usuário e diminui as taxas de cliques. Se os usuários forem interrompidos com muita frequência, eles não vão gostar do app.
Exemplo
Faça o download e execute o exemplo de app que demonstra o uso do SDK de última geração do GMA.