Este guia de início rápido é destinado a editores e desenvolvedores que desejam usar a AdMob para gerar receita com um aplicativo criado com o Firebase. Se você não planeja incluir o Firebase em seu aplicativo, visite o guia independente da AdMob .
Se ainda não o fez, conheça todos os benefícios de usar AdMob, Firebase e Google Analytics juntos.
Se esta for a primeira vez que você acessa este guia, recomendamos que você baixe e acompanhe usando o aplicativo de teste SDK C++ dos anúncios para dispositivos móveis do Google .
Antes de você começar
Se você ainda não tem um projeto e um aplicativo Firebase, siga o guia de primeiros passos do Firebase: Adicione o Firebase ao seu projeto C++ .
Certifique-se de que o Google Analytics esteja ativado em seu projeto do 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 do Firebase que não tenha o Google Analytics ativado, poderá ativar o Google Analytics na guia Integrações do seu
Etapa 1: configure seu aplicativo na sua conta da AdMob
Registre cada variante de plataforma do seu aplicativo como um aplicativo da AdMob. Faça login ou crie uma conta da AdMob. Registre cada variante de plataforma do seu aplicativo na AdMob . Esta etapa cria um aplicativo da AdMob com um ID de aplicativo da AdMob exclusivo, que você precisará posteriormente neste guia.
Você será solicitado a adicionar o SDK de anúncios para dispositivos móveis ao seu aplicativo. Encontre instruções detalhadas para esta tarefa posteriormente neste guia. Vincule cada um dos seus aplicativos da AdMob ao aplicativo do Firebase correspondente. Esta etapa é opcional, mas altamente 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 da sua conta da AdMob: Ative as métricas do usuário para permitir que a AdMob processe e exiba dados analíticos selecionados na sua conta da AdMob. Também é uma configuração obrigatória para vincular seu aplicativo da AdMob ao Firebase. Vincule seu aplicativo da AdMob ao projeto existente do Firebase e ao aplicativo Firebase correspondente. Certifique-se de inserir o mesmo nome de pacote (Android) ou ID de pacote (iOS) digitado para seu aplicativo Firebase. Encontre o nome do pacote ou ID do pacote do seu aplicativo Firebase no cartão Seus aplicativos do seu Configurações do projeto . >
Etapa 2: adicione o ID do aplicativo da AdMob ao seu aplicativo
Android
AndroidManifest.xml
do seu 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
Info.plist
do seu aplicativo, adicione uma chave GADApplicationIdentifier
com um valor de string do seu ID do aplicativo da AdMob .
<!-- Sample AdMob App ID: ca-app-pub-3940256099942544~1458002511 --> <key>GADApplicationIdentifier</key> <string>ADMOB_APP_ID</string>
Etapa 3: adicionar o SDK dos anúncios para dispositivos móveis do Google
firebase::gma
, faça download do SDK C++ do Firebase e descompacte-o em um diretório de sua escolha.
Android
No arquivo gradle.properties
do seu projeto, especifique o local do SDK descompactado:systemProp.firebase_cpp_sdk.dir=FULL/PATH/TO/SDK Ao 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 seguinte conteúdo, 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 } Ao 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.
iOS
Obtenha o CocoaPods versão 1 ou posterior executando: sudo gem install cocoapods --pre
Adicione o pod de anúncios para dispositivos móveis do Google do SDK descompactado. Crie um Podfile se ainda não tiver um: cd YOUR_APP_DIRECTORY
pod init
Ao seu Podfile, adicione o pod do SDK C++ dos anúncios para dispositivos móveis do Google: 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 SDK C++ do Firebase ao projeto: xcframeworks/firebase.xcframework
xcframeworks/firebase_gma.xcframework
Etapa 4: inicializar o SDK dos anúncios para dispositivos móveis do Google
firebase::gma::Initialize()
.
firebase::Future
que é concluído assim que 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.
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
Future
para monitorar o status de conclusão de uma chamada de métodoFuture
fornece uma maneira de determinar o status de conclusão de suas chamadas de método assíncronas.
firebase::gma::Initialize()
, um novo firebase::Future
é criado e retornado. Seu aplicativo pode então pesquisar o status()
do Future
para determinar quando a inicialização foi concluída. Depois de concluído, seu aplicativo poderá invocar result()
para obter o AdapterInitializationStatus
resultante.
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()
.
Future
for concluído e seu código de erro for firebase::gma::kAdErrorCodeNone
, a operação foi concluída com êxito.
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
Bandeira
Intersticial
Anúncios em tela cheia que cobrem a interface de um aplicativo até ser fechado pelo usuário
Os anúncios intersticiais são melhor usados em pausas naturais no fluxo de execução de um aplicativo, como entre níveis 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 assistirem a vídeos curtos e interagirem com anúncios reproduzíveis e pesquisas
Anúncios premiados (ou "baseados em recompensas") podem ajudar a monetizar usuários de jogos gratuitos.
Implementar anúncios premiados
Outros temas de interesse
Visualize métricas do usuário e dados analíticos
Após a inicialização, o Mobile Ads SDK começa automaticamente a registrar eventos analíticos e propriedades do usuário do seu aplicativo. Você pode visualizar esses dados sem adicionar nenhum código adicional ao seu aplicativo ou implementar anúncios. É aqui que você pode ver esses dados analíticos:
No cartão Métricas do usuário da sua conta da AdMob (painel inicial ou de aplicativos ), você pode visualizar 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 do Analytics do console do Firebase, 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-alvo personalizados no Console do Firebase.
Observe que para representar melhor as métricas de ARPU e ARPPU , você pode querer incluir dados de um evento de análise personalizado 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 de aplicativos e o envolvimento do usuário:
Adicione e use o SDK do Firebase para Google Analytics
Implemente o registro de eventos personalizado em seu aplicativo.
Marque conversões para campanhas publicitárias personalizadas .
Inclua dados do evento
ecommerce_purchase
no cálculo da receita para métricas ARPU e ARPPU .
Para saber mais, acesse o guia para usar o Google Analytics e o Firebase com aplicativos da AdMob .
Use outros produtos do Firebase no seu aplicativo
Depois de adicionar o SDK do Firebase para Google Analytics, use outros produtos do Firebase para otimizar anúncios no seu aplicativo.
A Configuração remota permite que você altere o comportamento e a aparência do seu aplicativo sem publicar uma atualização do aplicativo, sem nenhum custo, para usuários ativos diários ilimitados.
O teste A/B oferece a capacidade de testar alterações na interface do usuário, nos recursos ou nas campanhas de engajamento do seu aplicativo para saber se elas causam impacto nas suas principais métricas (como receita e retenção) antes de implementar as alterações amplamente.