Os anúncios de banner ocupam um lugar no layout do app, na parte de cima ou de baixo na tela do dispositivo. Eles permanecem na tela enquanto os usuários interagem com o aplicativo. e podem ser atualizadas automaticamente após um determinado período. Se você é novo para dispositivos móveis, elas são um ótimo ponto de partida. Estudo de caso.
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 de banner, 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 a cada e você é livre para usá-lo em seus próprios aplicativos enquanto codifica, testa e depuração. Basta não se esquecer de substituí-lo pelo seu próprio ID de bloco de anúncios antes para 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
Configurar um AdView
Os anúncios de banner são exibidos em objetos AdView
. Portanto, a primeira etapa para
a integração dos anúncios de banner é criar e posicionar um AdView
.
Adicione o seguinte cabeçalho ao código C++ do app:
#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 do anúncio usando o paiAdParent
. visualização. A visualização mãe é uma referênciajobject
JNI a umActivity
do Android. ou um ponteiro para umUIView
do iOS transmitido 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); Em vez de manter o futuro como uma variável, é possível verifique 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 do método chamadas.
Definir a posição do anúncio
É possível definir a posição do AdView
a qualquer momento depois de ele ser inicializado:
firebase::Future<void> result = ad_view->SetPosition(firebase::gma::AdView::kPositionTop);
Carregar um anúncio
É possível 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.
Exibir o anúncio
Por fim, exiba o anúncio na tela chamando Show()
. Esse método pode ser
invocado a qualquer momento após a inicialização do anúncio:
firebase::Future<void> result = ad_view->Show();
Eventos de anúncio
O SDK dos anúncios para dispositivos móveis do Google para C++ fornece uma classe AdListener
que pode ser estendida
e passe para AdView::SetListener()
para ser notificado sobre alterações no anúncio
o estado da visualização.
A extensão de métodos no AdListener
é opcional, então você só precisa implementar o
e métodos que quiser. Veja abaixo um exemplo de implementação de uma classe que estende todos
da classe de métodos 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 padrão de banner.
Tamanho em pontos (L x A) | Descrição | Disponibilidade | 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 de tamanho real IAB | Tablets | kFullBanner |
728 x 90 | Cabeçalho IAB | Tablets | kLeaderboard |
Largura fornecida x Altura adaptável | Banner adaptativo | Telefones e tablets | N/A |
Tamanhos de anúncios personalizados
Para definir um tamanho de banner personalizado, configure as dimensões desejadas usando o
firebase::gma::AdSize
construtor com parâmetros de largura e altura, conforme mostrado aqui:
firebase::gma::AdSize ad_size(/*width=*/320, /*height=*/50);
Outros recursos
Exemplo no GitHub
- Consulte o código-fonte da nossa exemplo de app de início rápido no GitHub.