Anúncios intersticiais são anúncios em tela cheia que cobrem a interface de um aplicativo até fechadas pelo usuário. Normalmente, elas são exibidas em pontos de transição natural o fluxo de um aplicativo, como entre atividades ou durante a pausa entre fases de um jogo. Quando um app mostra um anúncio intersticial, o usuário tem a opção de escolher para tocar no anúncio e continuar até seu destino ou fechá-lo e voltar para o app. Estudo de caso.
Este guia mostra como integrar anúncios intersticiais em apps Android e iOS usando o SDK dos anúncios para dispositivos móveis do Google para C++.
Pré-requisitos
- Conclua Começar.
- (Somente Android) Familiaridade com as referências do JNI
jobject
(consulte Dicas de JNI do Android).
Sempre faça testes com 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, que variam de acordo com a plataforma do dispositivo:
- Android:
ca-app-pub-3940256099942544/1033173712
- iOS:
ca-app-pub-3940256099942544/4411468910
Eles foram configurados 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 ID do seu bloco de anúncios antes de publicar seu app.
Para mais informações sobre como funcionam os anúncios de teste do SDK dos anúncios para dispositivos móveis, consulte Anúncios de teste.
Implementação
As principais etapas para integrar anúncios intersticiais são:
- Carregue um anúncio.
- Registre-se para callbacks.
- Exiba o anúncio e processe os eventos de ciclo de vida.
Configurar um InterstitialAd
Os anúncios intersticiais são exibidos em objetos InterstitialAd
. Portanto, a primeira etapa
para integrar anúncios intersticiais em seu aplicativo é criar e inicializar uma
InterstitialAd
.
Adicione o seguinte cabeçalho ao código C++ do app:
#include "firebase/gma/interstial_ad.h"
Declare e instancie um objeto
InterstitialAd
:firebase::gma::InterstitialAd* interstitial_ad; interstitial_ad = new firebase::gma::InterstitialAd();
Inicialize a instância
InterstitialAd
usando a visualização mãe transmitida para um tipoAdParent
. A visualização mãe é uma referênciajobject
JNI a um objetoActivity
ou um ponteiro para umUIView
do iOS.// my_ad_parent is a jobject reference to an Android Activity or // a pointer to an iOS UIView. firebase::gma::AdParent ad_parent = static_cast<firebase::gma::AdParent>(my_ad_parent); firebase::Future<void> result = interstitial_ad->Initialize(ad_parent);
Em vez de manter o futuro como variável, você pode verifique o status da operação de inicialização invocando
InitializeLastResult()
no objetoInterstitialAd
. Isso pode ser útil para acompanhar o processo de inicialização no loop de jogo global.// Monitor the status of the future in your game loop: firebase::Future<void> result = interstitial_ad->InitializeLastResult(); if (result.status() == firebase::kFutureStatusComplete) { // Initialization completed. if(future.error() == firebase::gma::kAdErrorCodeNone) { // Initialization successful. } else { // An error has occurred. } } else { // Initialization on-going. }
Para mais informações sobre como trabalhar com firebase::Future
, consulte
Usar Futures para monitorar o status de conclusão do método
chamadas.
Carregar um anúncio
É possível carregar um anúncio usando o método LoadAd()
na
objeto InterstitialAd
. O método de carregamento exige a inicialização do
InterstitialAd
e que você tem o ID do seu bloco de anúncios e um AdRequest
objeto. Uma firebase::Future
é retornada, que pode ser usada para monitorar o estado
e o resultado da operação de carregamento.
O código a seguir mostra como carregar um anúncio depois que InterstitialAd
for
inicializado com sucesso:
firebase::gma::AdRequest ad_request;
firebase::Future<firebase::gma::AdResult> load_ad_result;
load_ad_result = interstitial_ad->LoadAd(interstitial_ad_unit_id, ad_request);
Registrar-se para callbacks
Estenda a classe FullScreenContentListener
para receber
notificações de apresentação de anúncio intersticial e eventos de ciclo de vida. Sua personalização
A subclasse FullScreenContentListener
pode ser registrada por meio do
método InterstitialAd::SetFullScreenContentListener()
e receberá
retornos de chamada quando o anúncio for apresentado com ou sem sucesso, assim como quando
será dispensada.
O código a seguir mostra como estender a classe e atribuí-la ao anúncio:
class ExampleFullScreenContentListener : public firebase::gma::FullScreenContentListener { public: ExampleFullScreenContentListener() {} void OnAdClicked() override { // This method is invoked when the user clicks the ad. } void OnAdDismissedFullScreenContent() override { // This method is invoked when the ad dismisses full screen content. } void OnAdFailedToShowFullScreenContent(const AdError& error) override { // This method is invoked when the ad failed to show full screen content. // Details about the error are contained within the AdError parameter. } void OnAdImpression() override { // This method is invoked when an impression is recorded for an ad. } void OnAdShowedFullScreenContent() override { // This method is invoked when the ad showed its full screen content. } }; ExampleFullScreenContentListener* full_screen_content_listener = new ExampleFullScreenContentListener(); interstitial_ad->SetFullScreenContentListener(full_screen_content_listener);
InterstitialAd
é um objeto de uso único. Isso significa que, uma vez que um intersticial
anúncio é exibido, ele não pode ser mostrado novamente. Uma prática recomendada é carregar outro
anúncio intersticial no método OnAdDismissedFullScreenContent()
da sua
FullScreenContentListener
para que o próximo anúncio intersticial comece a ser carregado como
assim que o anterior for dispensado.
Exibir o anúncio
Os intersticiais devem ser exibidos durante pausas naturais no fluxo de um aplicativo.
Entre os níveis de um jogo é um bom exemplo ou depois que o usuário conclui uma tarefa.
Embora o FullScreenContentListener
possa ser usado para determinar quando um anúncio
mostrado o conteúdo em tela cheia, o futuro retornado por Show()
também sinalizará
quando o anúncio foi exibido.
firebase::Future<void> result = interstitial_ad->Show();
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 natural. A a conclusão de uma tarefa em um aplicativo, como compartilhar uma imagem ou concluir um jogo cria esse ponto. Como o usuário está esperando uma pausa na para uma ação, é fácil apresentar um anúncio intersticial sem atrapalhar do usuário. Considere em quais pontos do fluxo de trabalho do app você exibir anúncios intersticiais e como o usuário provavelmente 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, gráficos,
vídeo e muito mais. É importante garantir que, quando seu app exibir uma
intersticial, ela também suspende o uso de alguns recursos para permitir que o anúncio
aproveitá-las. Por exemplo, quando você faz a chamada para exibir um
anúncio intersticial, pause qualquer saída de áudio que esteja sendo produzida por seu aplicativo.
Você pode retomar a reprodução de sons no método
OnAdDismissedFullScreenContent
de seuFullScreenContentListener
instalado, que será invocado quando o usuário terminar de interagir com o anúncio. Além disso, considere interromper temporariamente qualquer tarefa de computação intensa (como um loop de jogo) enquanto o anúncio está sendo exibidos. Isso garantirá que o usuário não tenha uma experiência lenta ou gráficos que não respondem ou vídeos com renderização lenta. - Permita um tempo de carregamento adequado.
- Tão importante quanto a exibição de anúncios intersticiais momento adequado, também é importante garantir que o usuário não tenha que esperar para eles carregarem. Carregar o anúncio antes da exibição pode garantir que seu app tem um anúncio intersticial totalmente carregado e pronto no momento aparece para mostrar um.
- 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, também pode prejudicar a experiência do usuário e taxas de cliques mais baixas. Certifique-se de que os usuários não estejam interrompido e não poderá mais usar seu app.
- Não use o futuro da conclusão do carregamento para mostrar o intersticial.
- Isso pode resultar em uma experiência ruim para o usuário. Em vez disso, pré-carregue o anúncio antes de precisa mostrar.
Outros recursos
Exemplo no GitHub
- Veja o código-fonte do nosso exemplo app de início rápido no GitHub.
Tutoriais em vídeo do Mobile Ads Garage
Histórias de sucesso
Próximas etapas
- Crie seu próprio bloco de anúncios intersticiais na interface da AdMob.
- Saiba mais sobre a segmentação de anúncios e diretrizes para anúncios intersticiais.