Anúncios intersticiais


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

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:

  1. Carregue um anúncio.
  2. Registre-se para callbacks.
  3. 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.

  1. Adicione o seguinte cabeçalho ao código C++ do app:

     #include "firebase/gma/interstial_ad.h"
    

  2. Declare e instancie um objeto InterstitialAd:

     firebase::gma::InterstitialAd* interstitial_ad;
     interstitial_ad = new firebase::gma::InterstitialAd();
    

  3. Inicialize a instância InterstitialAd usando a visualização mãe transmitida para um tipo AdParent. A visualização mãe é uma referência jobject JNI a um objeto Activity ou um ponteiro para um UIView 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);
    
  4. Em vez de manter o futuro como variável, você pode verifique o status da operação de inicialização invocando InitializeLastResult() no objeto InterstitialAd. 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, quando um anúncio intersticial anúncio for exibido, ele não poderá 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. O 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 seu FullScreenContentListener instalado, que será invocado quando o usuário terminar de interagir com o anúncio. Além disso, considere interromper temporariamente quaisquer tarefas 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 apropriado, 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

Tutoriais em vídeo do Mobile Ads Garage

Histórias de sucesso

Próximas etapas