Anúncios de Abertura de App (App Open)
Este guia é voltado para editores que desejam integrar anúncios de abertura de app (App Open) usando o Google Mobile Ads SDK.
Os anúncios de abertura de app são um formato especial de anúncio desenvolvido para editores que desejam monetizar as telas de carregamento de seus aplicativos. Os anúncios de abertura de app podem ser fechados a qualquer momento e são projetados para serem exibidos quando os usuários trazem seu aplicativo para o primeiro plano (foreground).
Note
Os formatos de anúncios específicos podem variar por região.
Os anúncios de abertura de app mostram automaticamente uma pequena área de identidade visual para que os usuários saibam que estão no seu aplicativo. Aqui está um exemplo de como é a aparência de um anúncio de abertura de app:

Pré-requisitos
Antes de continuar, faça o seguinte:
- Concluir o Guia de Início Rápido.
Sempre teste com anúncios de teste
A tabela a seguir contém um ID de bloco de anúncios que você pode usar para solicitar anúncios de teste. Ele foi especialmente configurado para retornar anúncios de teste em vez de anúncios de produção para cada solicitação, tornando seu uso seguro.
No entanto, após registrar um aplicativo no painel web do AdMob e criar seus próprios IDs de blocos de anúncios para usar no aplicativo, configure explicitamente o seu dispositivo como um dispositivo de teste durante o desenvolvimento.
Implementação
As etapas principais para integrar os anúncios de abertura de app são:
- Criar uma classe utilitária
- Carregar o anúncio de abertura de app
- Escutar os eventos do anúncio de abertura de app
- Considerar a expiração do anúncio
- Escutar eventos de estado do aplicativo
- Exibir o anúncio de abertura de app
- Limpar o anúncio de abertura de app
- Pré-carregar o próximo anúncio de abertura de app
Criar uma classe utilitária
Crie uma nova classe (por exemplo, AppOpenAdManager) para carregar o anúncio. Esta classe controla uma variável de instância para monitorar um anúncio carregado e o ID do bloco de anúncios para cada plataforma.
Tip
Embora não seja estritamente necessário, adicionar este script como um Autoload (Singleton) é altamente recomendado. Isso garante que o gerenciador sobreviva a mudanças de cena e permaneça persistente na árvore de cenas — fornecendo um monitor de estado global transparente idêntico aos sistemas automatizados usados pelo Google em outras plataformas.
Carregar o anúncio de abertura de app
O carregamento de um anúncio de abertura de app é realizado usando o método load() na classe AppOpenAdLoader. O método requer um ID de bloco de anúncios, um objeto AdRequest e um listener de conclusão que é chamado quando o carregamento do anúncio é bem-sucedido ou falha. O objeto AppOpenAd carregado é fornecido como um parâmetro no listener de conclusão.
Warning
Tentar carregar um novo anúncio dentro do bloco de conclusão da solicitação quando um anúncio falhar no carregamento é fortemente desaconselhado. Se você precisar carregar um anúncio no bloco de conclusão, limite as tentativas de carregamento para evitar requisições consecutivas com falhas em situações como conectividade limitada de rede.
Escutar os eventos do anúncio de abertura de app
Para personalizar ainda mais o comportamento do seu anúncio, você pode se conectar a uma série de eventos no ciclo de vida do anúncio: abertura, fechamento e assim por diante. Escute esses eventos registrando um FullScreenContentCallback e configurando a propriedade on_ad_paid / OnAdPaid que recebe um AdValue conforme mostrado abaixo.
Considerar a expiração do anúncio
Ponto Chave
Os anúncios de abertura de app expiram após quatro horas. Anúncios renderizados mais de quatro horas após a solicitação não serão mais válidos e podem não gerar receita.
Para garantir que você não exiba um anúncio expirado, adicione um método ao AppOpenAdManager que verifica há quanto tempo o anúncio foi carregado. Em seguida, utilize esse método para verificar se o anúncio ainda é válido.
O anúncio de abertura de app tem um tempo limite de 4 horas. Armazene o tempo de carregamento na variável _expire_time.
Escutar eventos de estado do aplicativo
Use as notificações de foco do Godot para escutar eventos de primeiro plano (foreground) e segundo plano (background) do aplicativo.
Exibir o anúncio de abertura de app
Para exibir um anúncio de abertura de app carregado, chame o método show() na instância do AppOpenAd.
Note
Os anúncios de abertura de app devem ser exibidos durante pausas naturais no fluxo do aplicativo. Entre os níveis de um jogo é um bom exemplo, ou após o usuário concluir uma tarefa.
Limpar o anúncio de abertura de app
Quando terminar de usar um AppOpenAd, certifique-se de chamar o método destroy() antes de descartar a referência a ele:
Isso notifica o plugin que o objeto não é mais utilizado e a memória ocupada por ele pode ser liberada. A falha em chamar este método resultará em vazamentos de memória (memory leaks).
Pré-carregar o próximo anúncio de abertura de app
O AppOpenAd é um objeto de uso único. Isso significa que, uma vez exibido, o anúncio de abertura de app não pode ser reutilizado. Para solicitar outro anúncio de abertura de app, você precisará instanciar um novo objeto AppOpenAd.
Para preparar um anúncio de abertura de app para a próxima oportunidade de exibição, pré-carregue o anúncio de abertura de app assim que o evento on_ad_dismissed_full_screen_content ou on_ad_failed_to_show_full_screen_content for acionado.
Inicializações a frio (Cold starts) e telas de carregamento
A documentação até este ponto assume que você apenas exibe anúncios de abertura de app quando os usuários trazem o app para primeiro plano com ele já suspenso na memória. As inicializações a frio ocorrem quando o aplicativo é iniciado, mas não estava suspenso na memória anteriormente.
Um exemplo de inicialização a frio é quando um usuário abre seu app pela primeira vez. Com inicializações a frio, você não terá um anúncio de abertura de app carregado anteriormente que esteja pronto para ser exibido de imediato. O atraso entre quando você solicita um anúncio e recebe a resposta do anúncio de volta pode criar uma situação em que o usuário consegue usar brevemente o seu app antes de ser surpreendido por um anúncio. Isso deve ser evitado, pois prejudica a experiência do usuário.
A maneira preferível de usar anúncios de abertura de app em inicializações a frio é usar uma tela de carregamento para carregar os recursos do seu jogo ou app, e apenas exibir o anúncio a partir dessa tela de carregamento. Se o seu app já concluiu o carregamento e enviou o usuário para o conteúdo principal, não exiba o anúncio.
Ponto Chave
Para continuar carregando os recursos do app enquanto o anúncio de abertura de app está sendo exibido, sempre carregue os recursos em uma thread em segundo plano (background thread).
Boas práticas
Os anúncios de abertura de app ajudam a monetizar a tela de carregamento do seu aplicativo quando ele é iniciado pela primeira vez e durante a alternância entre apps, mas é importante ter em mente as seguintes boas práticas para que seus usuários gostem de usar seu aplicativo.
- Exiba seu primeiro anúncio de abertura de app depois que os usuários usarem seu aplicativo algumas vezes.
- Exiba anúncios de abertura de app durante períodos em que seus usuários estariam aguardando o carregamento do aplicativo de qualquer maneira.
- Se houver uma tela de carregamento sob o anúncio de abertura de app e a tela concluir o carregamento antes do anúncio ser fechado, oculte a tela de carregamento dentro do handler de eventos
on_ad_dismissed_full_screen_content. - Certifique-se de que o seu
AppOpenAdManager(o nó que implementa o listener de estado do app) esteja presente na árvore de cenas. As notificações de ciclo de vida, comoNOTIFICATION_APPLICATION_FOCUS_IN, são necessárias para que os eventos sejam acionados, portanto não remova esse nó; os eventos param de ser disparados se o nó for removido da árvore.
Recursos adicionais
- Projeto de Exemplo: Uma implementação minimalista de todos os formatos de anúncios.