Antes de começar
Antes de continuar, faça o seguinte:
- Configure o Google Mobile Ads SDK (Legacy).
- Use o ID do bloco de anúncios premiado de teste
ca-app-pub-3940256099942544/5224354917.- Ao criar e testar seus apps, use anúncios de teste em vez de anúncios de produção ativos. Se você não usar o ID do bloco 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 Google Mobile Ads SDK (Legacy), consulte Ativar anúncios de teste.
Carregar um objeto de anúncio premiado
Os anúncios premiados são carregados chamando o método estático load na classe RewardedAd e transmitindo um RewardedAdLoadCallback. Isso geralmente é feito no método onCreate de um Activity.
Assim como outros callbacks de carregamento de formato, RewardedAdLoadCallback usa LoadAdError para fornecer detalhes de erro com maior fidelidade.
Java
Kotlin
Substitua AD_UNIT_ID pelo ID do seu bloco de anúncios.
Definir o FullScreenContentCallback
O FullScreenContentCallback processa eventos relacionados à exibição do seu RewardedAd. Antes de mostrar seu RewardedAd, defina o callback assim:
Java
rewardedAd.setFullScreenContentCallback(
new FullScreenContentCallback() {
@Override
public void onAdDismissedFullScreenContent() {
// Called when fullscreen content is dismissed.
Log.d(TAG, "Ad was dismissed.");
// Don't forget to set the ad reference to null so you
// don't show the ad a second time.
rewardedAd = null;
}
@Override
public void onAdFailedToShowFullScreenContent(AdError adError) {
// Called when fullscreen content failed to show.
Log.d(TAG, "Ad failed to show.");
// Don't forget to set the ad reference to null so you
// don't show the ad a second time.
rewardedAd = null;
}
@Override
public void onAdShowedFullScreenContent() {
// Called when fullscreen content is shown.
Log.d(TAG, "Ad showed fullscreen content.");
}
@Override
public void onAdImpression() {
// Called when an impression is recorded for an ad.
Log.d(TAG, "Ad recorded an impression.");
}
@Override
public void onAdClicked() {
// Called when an ad is clicked.
Log.d(TAG, "Ad was clicked.");
}
});
Kotlin
rewardedAd?.fullScreenContentCallback =
object : FullScreenContentCallback() {
override fun onAdDismissedFullScreenContent() {
// Called when fullscreen content is dismissed.
Log.d(TAG, "Ad was dismissed.")
// Don't forget to set the ad reference to null so you
// don't show the ad a second time.
rewardedAd = null
}
override fun onAdFailedToShowFullScreenContent(adError: AdError) {
// Called when fullscreen content failed to show.
Log.d(TAG, "Ad failed to show.")
// Don't forget to set the ad reference to null so you
// don't show the ad a second time.
rewardedAd = null
}
override fun onAdShowedFullScreenContent() {
// Called when fullscreen content is shown.
Log.d(TAG, "Ad showed fullscreen content.")
}
override fun onAdImpression() {
// Called when an impression is recorded for an ad.
Log.d(TAG, "Ad recorded an impression.")
}
override fun onAdClicked() {
// Called when an ad is clicked.
Log.d(TAG, "Ad was clicked.")
}
}
Veicular o anúncio
Ao mostrar um anúncio premiado, use um objeto OnUserEarnedRewardListener para processar eventos premiados.
Java
rewardedAd.show(
MainActivity.this,
new OnUserEarnedRewardListener() {
@Override
public void onUserEarnedReward(@NonNull RewardItem rewardItem) {
Log.d(TAG, "User earned the reward.");
// Handle the reward.
}
});
Kotlin
rewardedAd?.show(
this,
OnUserEarnedRewardListener { rewardItem ->
Log.d(TAG, "User earned the reward.")
// Handle the reward.
val rewardAmount = rewardItem.amount
val rewardType = rewardItem.type
},
)
Para anúncios veiculados pelo Google, Google Mobile Ads SDK (Legacy) chama o método onUserEarnedReward antes do método onAdDismissedFullScreenContent. Para anúncios veiculados com a Mediação da AdMob, a origem de terceiros determina a ordem de callback. Para origens de anúncios que fornecem um único callback de fechamento com informações de recompensa, o adaptador de mediação chama o método onUserEarnedReward antes do método onAdDismissedFullScreenContent. Para mais detalhes, consulte Configurar a mediação da AdMob.
Opcional: validar callbacks de verificação do lado do servidor (SSV)
Os apps que exigem dados extras em callbacks de verificação do lado do servidor precisam usar o recurso de dados personalizados dos anúncios premiados. Qualquer valor de string definido em um objeto de anúncio premiado é transmitido ao parâmetro de consulta custom_data do callback de SSV. Se nenhum valor de dados personalizado for definido, o valor do parâmetro de consulta custom_data não estará presente no callback de SSV.
O exemplo de código a seguir demonstra como definir dados personalizados em um objeto de anúncio premiado antes de solicitar um anúncio.
Java
Kotlin
Substitua SAMPLE_CUSTOM_DATA_STRING pelos seus dados personalizados.
Se quiser definir a string de recompensa personalizada, faça isso antes de mostrar o anúncio.
Exemplos no GitHub
Próximas etapas
Confira os seguintes tópicos: