Este guia de início rápido é para editores e desenvolvedores que desejam usar a AdMob para monetizar um aplicativo desenvolvido com o Firebase.
Se ainda não o fez, conheça todos os benefícios de usar AdMob, Firebase e Google Analytics juntos.
Se esta é a primeira vez que você consulta este guia, recomendamos que você faça o download e siga-o usando o aplicativo de teste do Google Mobile Ads C++ SDK .
Antes de você começar
Se você ainda não tem um projeto Firebase e um aplicativo Firebase, siga o guia de primeiros passos do Firebase: Add Firebase to your C++ project .
Verifique se o Google Analytics está ativado em seu projeto Firebase:
Se você estiver criando um novo projeto do Firebase, ative o Google Analytics durante o fluxo de trabalho de criação do projeto.
Se você tiver um projeto existente do Firebase que não tenha o Google Analytics ativado, você pode ativar o Google Analytics na guia Integrações de suas > Configurações do projeto .
Etapa 1: configurar seu aplicativo em sua conta da AdMob
Registre cada variante de plataforma do seu aplicativo como um aplicativo da AdMob.
Faça login ou inscreva-se em uma conta da AdMob.
Registre cada variante de plataforma do seu aplicativo na AdMob . Esta etapa cria um aplicativo AdMob com um ID de aplicativo AdMob exclusivo que você precisará posteriormente neste guia.
Você será solicitado a adicionar o Mobile Ads SDK ao seu aplicativo. Encontre instruções detalhadas para esta tarefa mais adiante neste guia.
Vincule cada um dos seus aplicativos AdMob ao aplicativo Firebase correspondente.
Esta etapa é opcional, mas fortemente recomendada. Saiba mais sobre os benefícios de ativar as métricas do usuário e vincular seus aplicativos da AdMob ao Firebase.
Para cada variante de plataforma, conclua as duas etapas a seguir no painel de aplicativos de sua conta da AdMob:
Ative as métricas do usuário para permitir que a AdMob processe e exiba dados analíticos selecionados em sua conta da AdMob. Também é uma configuração obrigatória para você vincular seu aplicativo da AdMob ao Firebase.
Vincule seu aplicativo AdMob ao seu projeto Firebase existente e ao aplicativo Firebase correspondente.
Certifique-se de inserir o mesmo nome de pacote (Android) ou ID de pacote (iOS) que você inseriu para seu aplicativo Firebase. Encontre o nome do pacote ou ID do pacote do aplicativo Firebase no cartão Seus aplicativos de suas Configurações do projeto .
>
Etapa 2: adicione o ID do aplicativo da AdMob ao seu aplicativo
Android
Adicione o ID do aplicativo da AdMob ao arquivo AndroidManifest.xml
do aplicativo adicionando a tag <meta-data>
conforme mostrado abaixo.
<manifest> <application> <!-- Sample AdMob App ID: ca-app-pub-3940256099942544~3347511713 --> <meta-data android:name="com.google.android.gms.ads.APPLICATION_ID" android:value="ADMOB_APP_ID"/> </application> </manifest>
iOS
No arquivo Info.plist
do seu aplicativo, adicione uma chave GADApplicationIdentifier
com um valor de string de seu ID do aplicativo da AdMob .
Você pode fazer essa alteração programaticamente:
<!-- Sample AdMob App ID: ca-app-pub-3940256099942544~1458002511 --> <key>GADApplicationIdentifier</key> <string>ADMOB_APP_ID</string>
Ou edite-o no editor de lista de propriedades:
Etapa 3: adicionar o SDK de anúncios para celular do Google
Como o SDK C++ dos anúncios para dispositivos móveis do Google reside no namespace firebase::gma
, faça o download do SDK C++ do Firebase e descompacte-o em um diretório de sua escolha.
O Firebase C++ SDK não é específico da plataforma, mas requer configurações de biblioteca específicas da plataforma.
Android
No arquivo
gradle.properties
do seu projeto, especifique a localização do SDK descompactado:systemProp.firebase_cpp_sdk.dir=FULL/PATH/TO/SDK
No arquivo
settings.gradle
do seu projeto, adicione o seguinte conteúdo:def firebase_cpp_sdk_dir = System.getProperty('firebase_cpp_sdk.dir') gradle.ext.firebase_cpp_sdk_dir = "$firebase_cpp_sdk_dir" includeBuild "$firebase_cpp_sdk_dir"
Ao arquivo Gradle do módulo (nível do aplicativo) (geralmente
app/build.gradle
), adicione o conteúdo a seguir, que inclui a dependência da biblioteca para o SDK C++ dos anúncios para dispositivos móveis do Google.android.defaultConfig.externalNativeBuild.cmake { arguments "-DFIREBASE_CPP_SDK_DIR=$gradle.firebase_cpp_sdk_dir" } # Add the dependency for the Google Mobile Ads C++ SDK apply from: "$gradle.firebase_cpp_sdk_dir/Android/firebase_dependencies.gradle" firebaseCpp.dependencies { gma }
No arquivo
CMakeLists.txt
do seu projeto, adicione o seguinte conteúdo.# Add Firebase libraries to the target using the function from the SDK. add_subdirectory(${FIREBASE_CPP_SDK_DIR} bin/ EXCLUDE_FROM_ALL) # Add the Google Mobile Ads C++ SDK. # The Firebase C++ library `firebase_app` is required, # and it must always be listed last. set(firebase_libs firebase_gma firebase_app ) target_link_libraries(${target_name} "${firebase_libs}")
Sincronize seu aplicativo para garantir que todas as dependências tenham as versões necessárias.
Está tudo pronto! Seu aplicativo C++ está configurado para usar o SDK C++ dos anúncios para celular do Google.
iOS
As etapas nesta seção são um exemplo de como adicionar o Google Mobile Ads C++ SDK ao seu projeto iOS.
Obtenha o CocoaPods versão 1 ou posterior executando:
sudo gem install cocoapods --pre
Adicione o pod Google Mobile Ads do SDK descompactado.
Crie um Podfile se ainda não tiver um:
cd YOUR_APP_DIRECTORY
pod init
Ao seu Podfile, adicione o pod para o Google Mobile Ads C++ SDK:
pod 'Google-Mobile-Ads-SDK'
Instale o pod e abra o arquivo
.xcworkspace
no Xcode.pod install
open YOUR_APP.xcworkspace
Adicione as seguintes estruturas do Firebase C++ SDK ao projeto:
-
xcframeworks/firebase.xcframework
-
xcframeworks/firebase_gma.xcframework
-
Está tudo pronto! Seu aplicativo C++ está configurado para usar o SDK C++ dos anúncios para celular do Google.
Etapa 4: inicializar o SDK de anúncios para celular do Google
Antes de carregar os anúncios, inicialize o Mobile Ads SDK chamando firebase::gma::Initialize()
.
Essa chamada retorna um firebase::Future
que é concluído quando a inicialização termina (ou após um tempo limite de 30 segundos). Chame esse método apenas uma vez e o mais cedo possível, de preferência na inicialização do aplicativo.
Aqui está um exemplo de como chamar Initialize()
:
Android
// Initialize the Google Mobile Ads library firebase::InitResult result; Future<AdapterInitializationStatus> future = firebase::gma::Initialize(jni_env, j_activity, &result); if (result != kInitResultSuccess) { // Initialization immediately failed, most likely due to a missing dependency. // Check the device logs for more information. return; } // Monitor the status of the future. // See "Use a Future to monitor the completion status of a method call" below. if (future.status() == firebase::kFutureStatusComplete && future.error() == firebase::gma::kAdErrorCodeNone) { // Initialization completed. } else { // Initialization on-going, or an error has occurred. }
iOS
// Initialize the Google Mobile Ads library. firebase::InitResult result; Future<AdapterInitializationStatus> future = firebase::gma::Initialize(&result); if (result != kInitResultSuccess) { // Initialization immediately failed, most likely due to a missing dependency. // Check the device logs for more information. return; } // Monitor the status of the future. // See "Use a Future to monitor the completion status of a method call" below. if (future.status() == firebase::kFutureStatusComplete && future.error() == firebase::gma::kAdErrorCodeNone) { // Initialization completed. } else { // Initialization on-going, or an error has occurred. }
Use um Future
para monitorar o status de conclusão de uma chamada de método
Um Future
fornece uma maneira de determinar o status de conclusão de suas chamadas de método assíncronas.
Por exemplo, quando seu aplicativo chama firebase::gma::Initialize()
, um novo firebase::Future
é criado e retornado. Seu aplicativo pode pesquisar o status()
do Future
para determinar quando a inicialização foi concluída. Depois de concluído, seu aplicativo pode invocar result()
para obter o AdapterInitializationStatus
resultante.
Os métodos que retornam um Future
têm um método de "último resultado" correspondente que os aplicativos podem usar para recuperar o Future
mais recente para uma determinada ação. Por exemplo, firebase::gma::Initialize()
tem um método correspondente chamado firebase::gma::InitializeLastResult()
, que retorna um Future
que seu aplicativo pode usar para verificar o status da última chamada para firebase::gma::Initialize()
.
Se o status de Future
for completo e seu código de erro for firebase::gma::kAdErrorCodeNone
, a operação foi concluída com sucesso.
Você também pode registrar callbacks para serem invocados quando um Future
for concluído. Em alguns casos, o retorno de chamada será executado em um thread diferente, portanto, certifique-se de que seu código seja thread-safe. Este trecho de código usa um ponteiro de função para o retorno de chamada:
// Registers the OnCompletion callback. user_data is a pointer that is passed verbatim
// to the callback as a void*. This allows you to pass any custom data to the callback
// handler. In this case, the app has no data, so you must pass nullptr.
firebase::gma::InitializeLastResult().OnCompletion(OnCompletionCallback,
/*user_data=*/nullptr);
// The OnCompletion callback function.
static void OnCompletionCallback(
const firebase::Future<AdapterInitializationStatus>& future, void* user_data) {
// Called when the Future is completed for the last call to firebase::gma::Initialize().
// If the error code is firebase::gma::kAdErrorCodeNone,
// then the SDK has been successfully initialized.
if (future.error() == firebase::gma::kAdErrorCodeNone) {
// success!
} else {
// failure.
}
}
Etapa 5: escolha um formato de anúncio para implementar em seu aplicativo
A AdMob oferece vários formatos de anúncios diferentes, para que você possa escolher o formato que melhor se adapta à experiência do usuário em seu aplicativo. Clique em um botão de um formato de anúncio para visualizar instruções detalhadas de implementação na documentação da AdMob.
Bandeira
Anúncios retangulares que aparecem na parte superior ou inferior da tela do dispositivo
Os banners permanecem na tela enquanto os usuários interagem com o aplicativo e podem ser atualizados automaticamente após um determinado período de tempo. Se você é novo na publicidade para celular, eles são um ótimo lugar para começar.
Implementar anúncios em bannerIntersticial
Anúncios em tela cheia que cobrem a interface de um aplicativo até serem fechados pelo usuário
Os anúncios intersticiais são mais bem usados em pausas naturais no fluxo de execução de um aplicativo, como entre as fases de um jogo ou logo após a conclusão de uma tarefa.
Implementar anúncios intersticiaisrecompensado
Anúncios que recompensam os usuários por assistir a vídeos curtos e interagir com anúncios e pesquisas reproduzíveis
Anúncios premiados (ou "baseados em recompensa") podem ajudar a monetizar usuários de jogos gratuitos.
Implementar anúncios premiados
Outros temas de interesse
Veja as métricas do usuário e os dados analíticos
Após sua inicialização, o Mobile Ads SDK inicia automaticamente o registro de eventos analíticos e propriedades do usuário de seu aplicativo. Você pode visualizar esses dados sem adicionar nenhum código adicional ao seu aplicativo ou implementar anúncios. Aqui é onde você pode ver esses dados analíticos:
No cartão de métricas do usuário de sua conta da AdMob ( Início ou painel de aplicativos ), você pode visualizar as métricas de usuário selecionadas derivadas dos dados analíticos coletados, como duração média da sessão, ARPU e retenção.
No painel Analytics do Firebase console, você pode visualizar estatísticas agregadas e resumos das principais métricas . Se você adicionar o SDK do Firebase para Google Analytics , também poderá marcar conversões para campanhas publicitárias e criar públicos personalizados no console do Firebase.
Observe que, para representar melhor as métricas ARPU e ARPPU , convém incluir dados de um evento personalizado de análise chamado ecommerce_purchase
no cálculo de receita para essas métricas ( saiba como ).
(Opcional) Use mais recursos do Google Analytics e Firebase
Aproveite mais oportunidades e recursos para melhorar a monetização do aplicativo e o envolvimento do usuário:
Adicionar e usar o SDK do Firebase para Google Analytics
Implemente o log de eventos personalizados em seu aplicativo.
Marque conversões para campanhas de anúncios personalizadas .
Inclua os dados do evento
ecommerce_purchase
no cálculo da receita para as métricas ARPU e ARPPU .
Para saber mais, visite o guia de uso do Google Analytics e Firebase com aplicativos da AdMob .
Use outros produtos Firebase em seu aplicativo
Depois de adicionar o Firebase SDK para Google Analytics, use outros produtos Firebase para otimizar os anúncios em seu aplicativo.
Configuração remota permite que você altere o comportamento e a aparência de seu aplicativo sem publicar uma atualização de aplicativo, sem nenhum custo, para usuários ativos diários ilimitados.
O teste A/B permite que você teste alterações na interface do usuário, recursos ou campanhas de engajamento do seu aplicativo para saber se elas causam impacto em suas principais métricas (como receita e retenção) antes de distribuir as alterações amplamente.