Pré-requisitos
- Google Mobile Ads SDK 19.7.0 ou mais recentes.
- Leia o guia para iniciantes.
Sempre usar anúncios de teste
Ao criar e testar seus apps, use anúncios de teste em vez de anúncios de produção ativos. Caso contrário, sua conta poderá ser suspensa.
A maneira mais fácil de carregar anúncios de teste é usar um ID dedicado do bloco de anúncios de teste para anúncios premiados do Android:
/21775744923/example/rewarded
Ele foi configurado especialmente para retornar anúncios de teste em todas as solicitações, e você pode usá-lo 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 aplicativo.
Para detalhes sobre os anúncios de teste do Google Mobile Ads SDK, 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, você usa 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
},
)
[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.
Perguntas frequentes
- Existe um tempo limite para a chamada de inicialização?
- Após 10 segundos, o Google Mobile Ads SDK invoca o
OnInitializationCompleteListener, mesmo que uma rede de mediação ainda não tenha concluído a inicialização. - E se algumas redes de mediação não estiverem prontas quando eu receber o callback de inicialização?
Recomendamos carregar um anúncio no callback do
OnInitializationCompleteListener. Mesmo que uma rede de mediação não esteja pronta, o Google Mobile Ads SDK ainda pede um anúncio a ela. Portanto, se uma rede de mediação terminar a inicialização após o tempo limite, ela ainda poderá atender a solicitações de anúncios futuras nessa sessão.Você pode continuar sondando o status de inicialização de todos os adaptadores durante a sessão do app chamando
MobileAds.getInitializationStatus().- Como descobrir por que uma rede de mediação específica não está pronta?
AdapterStatus.getDescription()descreve por que um adaptador não está pronto para atender a solicitações de anúncio.- O callback
onUserEarnedReward()sempre é chamado antes doonAdDismissedFullScreenContent()? Para anúncios do Google, todas as chamadas
onUserEarnedReward()ocorrem antes deonAdDismissedFullScreenContent(). Para anúncios veiculados por mediação, a implementação do SDK da rede de publicidade de terceiros determina a ordem de callback. Para SDKs de redes de publicidade que fornecem um único callback de fechamento com informações de recompensas, o adaptador de mediação invocaonUserEarnedReward()antes deonAdDismissedFullScreenContent().
Exemplos no GitHub
Próximas etapas
Confira os seguintes tópicos: