Anúncios intersticiais


Os anúncios intersticiais são anúncios em tela cheia que cobrem a interface de um app até ser fechado 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 pode tocar no anúncio e continuar para o destino ou fechá-lo e retornar ao 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 teste com anúncios de teste

Ao criar e testar seus apps, use anúncios de teste em vez de publicidade de produção ativa. 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á-los nos seus próprios apps durante a programação, o teste e a depuração. Basta substituí-lo pelo seu próprio ID de bloco de anúncios antes de publicar o app.

Para mais informações sobre como os anúncios de teste do SDK para dispositivos móveis funcionam, 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 ao seu app é criar e inicializar um objeto 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 pai é uma referência jobject JNI a um 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() no objeto InterstitialAd. O método de carregamento exige que você tenha inicializado o objeto InterstitialAd e que tenha o ID do bloco de anúncios e um objeto AdRequest. 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 o InterstitialAd foi inicializado:

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 callbacks

É necessário estender a classe FullScreenContentListener para receber notificações de apresentação de anúncios intersticiais 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 atribuir 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 é 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 anúncios intersticiais precisam ser mostrados durante pausas naturais no fluxo de um app. 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 mostrou o conteúdo em tela cheia, o futuro retornado por Show() também vai 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 conclusão de uma tarefa em um app, como compartilhar uma imagem ou passar de fase em um jogo, cria um ponto como esse. Como o usuário espera uma pausa na ação, é mais fácil apresentar um anúncio intersticial sem prejudicar a experiência dele. 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, imagem, vídeo e muito mais. É importante garantir que, quando o app exibe um anúncio intersticial, ele também suspende o uso de alguns recursos para permitir que o anúncio faça uso deles. Por exemplo, ao fazer uma chamada para exibir um anúncio intersticial, pause qualquer saída de áudio produzida pelo app. Você pode retomar a reprodução de sons no método OnAdDismissedFullScreenContent do 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 garante que o usuário não tenha gráficos lentos ou não responsivos nem vídeos travando.
Conceda tempo suficiente para o carregamento.
Tão importante quanto garantir a exibição de anúncios intersticiais em um momento adequado, é importante garantir que o usuário não precise esperar o carregamento. 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, isso também pode prejudicar a experiência do usuário e reduzir as taxas de cliques. Certifique-se de que os usuários não sejam interrompidos com muita frequência de modo que ainda possam desfrutar do uso do seu app.
Não use o futuro da conclusão do carregamento para mostrar o intersticial.
Isso pode causar uma experiência ruim para o usuário. Em vez disso, pré-carregue o anúncio antes de precisar exibi-lo.

Outros recursos

Exemplo no GitHub

Tutoriais em vídeo do Mobile Ads Garage

Histórias de sucesso

Próximas etapas