Os anúncios de banner ocupam um espaço no layout do app, que pode ser na parte de cima ou de baixo da tela do dispositivo. Enquanto os usuários interagem com o app, os anúncios permanecem na tela e podem ser atualizados automaticamente depois de algum tempo. Se você começou a usar a publicidade para dispositivos móveis agora, eles são uma ótima opção. Estudo de caso.
Pré-requisitos
- Leia o guia para iniciantes.
- (Somente Android) Familiaridade com referências
jobject
da JNI (consulte Dicas de JNI do Android).
Sempre use 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 banners, que varia de acordo com a plataforma do dispositivo:
- Android:
ca-app-pub-3940256099942544/6300978111
- iOS:
ca-app-pub-3940256099942544/2934735716
Esses IDs de bloco de anúncios foram configurados especialmente para retornar anúncios de teste em todas as solicitações, e você pode usá-los nos seus próprios apps durante a programação, os testes e a depuração. Só não se esqueça de substituí-lo pelo ID do seu 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
Configurar um AdView
Os anúncios de banner são exibidos em objetos AdView
. Portanto, a primeira etapa para
integrá-los é criar e posicionar um AdView
.
Adicione este cabeçalho ao código em C++ do aplicativo:
#include "firebase/gma/ad_view.h"
Declare e instancie um objeto
AdView
:firebase::gma::AdView* ad_view; ad_view = new firebase::gma::AdView();
Crie um
AdSize
e inicialize a visualização de anúncio usando a visualização principalAdParent
. A visualização principal é uma referência JNIjobject
a umActivity
do Android ou um ponteiro para umUIView
do iOS convertido para um tipoAdParent
:// 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
result = ad_view->Initialize(ad_parent, kBannerAdUnit, firebase::gma::AdSize::kBanner); Como alternativa a manter o futuro como uma variável, você pode verificar periodicamente o status da operação de inicialização invocando
InitializeLastResult()
no objetoAdView
. 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 = ad_view->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 das chamadas de método.
Definir a posição do anúncio
Você pode definir a posição do AdView
a qualquer momento depois que ele for inicializado:
firebase::Future<void> result = ad_view->SetPosition(firebase::gma::AdView::kPositionTop);
Carregar um anúncio
Você pode carregar um anúncio depois que o AdView
for inicializado:
firebase::gma::AdRequest ad_request;
firebase::Future<firebase::gma::AdResult> load_ad_result = ad_view->LoadAd(my_ad_request);
Os objetos AdRequest
representam uma única solicitação de anúncio e contêm propriedades para
informações como segmentação.
Mostrar o anúncio
Por fim, chame Show()
para mostrar o anúncio na tela. Esse método pode ser
invocado a qualquer momento depois que o anúncio for inicializado:
firebase::Future<void> result = ad_view->Show();
Eventos de anúncios
O SDK dos anúncios para dispositivos móveis do Google para C++ fornece uma classe AdListener
que você pode estender
e transmitir para AdView::SetListener()
para receber notificações sobre mudanças no estado
da visualização do anúncio.
Estender métodos em AdListener
é opcional. Portanto, você só precisa implementar os
métodos que quiser. Exemplo de implementação de uma classe que estende todos os métodos da classe AdListener
:
class ExampleAdListener : public firebase::gma::AdListener { public: ExampleAdListener() {} void OnAdClicked() override { // This method is invoked when the user clicks the ad. } void OnAdClosed() override { // This method is invoked when the user closes the ad. } void OnAdImpression() override { // This method is invoked when an impression is recorded for an ad. } void OnAdOpened() override { // This method is invoked when an ad opens an overlay that covers the screen. } }; ExampleAdListener* ad_listener = new ExampleAdListener(); ad_view->SetAdListener(ad_listener);
Tamanhos de banner
A tabela abaixo lista os tamanhos de banner padrão.
Tamanho em pontos (LxA) | Descrição | Disponibilidade | Constante firebase::gma::AdSize |
---|---|---|---|
320 x 50 | Banner | Telefones e tablets | kBanner |
320 x 100 | Banner grande | Telefones e tablets | kLargeBanner |
300 x 250 | Retângulo médio IAB | Telefones e tablets | kMediumRectangle |
468 x 60 | Banner em tamanho real do IAB | Tablets | kFullBanner |
728 x 90 | Cabeçalho do IAB | Tablets | kLeaderboard |
Largura fornecida x altura adaptativa | Banner adaptativo | Telefones e tablets | N/A |
Tamanhos de anúncio personalizados
Para definir um tamanho personalizado, use o construtor
firebase::gma::AdSize
com parâmetros de largura e altura, conforme mostrado aqui:
firebase::gma::AdSize ad_size(/*width=*/320, /*height=*/50);
Outros recursos
Exemplo no GitHub
- Confira o código-fonte do nosso app de exemplo do guia de início rápido no GitHub.