Rastrear eventos em um WebView com o Google Analytics

1. Introdução

Última atualização:22/12/2021

O que você vai criar

Neste codelab, você vai aprender a encaminhar eventos de uma página da Web no WebView para um código nativo para que o GA4F possa rastrear os eventos.

Vamos usar o app Android híbrido de exemplo, que chama uma página da Web usando WebView.

O que você vai aprender

  • Como inicializar o GA4F (Google Analytics para Firebase) em um app híbrido
  • Como criar eventos e parâmetros personalizados em uma página da Web
  • Como encaminhar os eventos em uma página da Web no WebView para um código nativo
  • Como depurar
  • Como importar eventos e usá-los em campanhas de ação.

O que é necessário

  • Android Studio 3.6 ou versão mais recente.
  • Conta do Firebase.

2. Etapas da configuração

Buscar o código

Os documentos do guia do Firebase fornecem o código de exemplo necessário para este projeto em um github.

7074c0e83b5fd4b1.png

Para começar, abra o código no ambiente de desenvolvimento de sua preferência. Vamos usar dois diretórios : android e web. O diretório "android" é para apps Android, e o diretório "web" é para uma página da Web que será chamada pelo app usando WebView.

3. Criar e configurar um projeto do Firebase

Para começar a usar o Firebase, será necessário criar e configurar um projeto do Firebase.

Criar um projeto do Firebase

  1. Faça login no Firebase.

No Console do Firebase, clique em "Adicionar projeto" (ou "Criar um projeto") e nomeie seu projeto do Firebase como Webview-test-codelab ou o nome que preferir.

fd93054e27d6b386.png

  1. Clique nas opções de criação do projeto. Se solicitado, aceite os termos do Firebase. Você precisa ativar o Google Analytics para esse projeto, porque são necessários eventos dele para rastrear os eventos de ação e analisar as conversões.

e58151a081f0628.png

Para saber mais sobre os projetos do Firebase, consulte Entender os projetos do Firebase.

4. Configuração do Firebase no Android

3e5b8f1b6ca538c4.png

Configurar para Android

  1. No console do Firebase, selecione Visão geral do projeto no painel de navegação à esquerda e clique no botão Android em "Comece adicionando o Firebase ao seu app".

Você vai ver a caixa de diálogo mostrada na tela a seguir.

3b7d3b33d81fe8ea.png

  1. O valor importante a ser fornecido é o nome do pacote Android, que você buscará usando a próxima etapa.
  1. No diretório do app, abra o arquivo android/app/src/main/AndroidManifest.xml.
  2. No elemento manifest, encontre o valor da string do atributo package. Esse valor é o nome do pacote do Android, algo como com.yourcompany.yourproject. Copie esse valor.
  3. Na caixa de diálogo do Firebase, cole o nome do pacote no campo Android package name.
  4. Não é necessário ter a chave SHA-1 aqui, a menos que você pretenda usar o Login do Google ou os Firebase Dynamic Links, que não fazem parte deste codelab. Se você planeja importar dados do in_app_purchase no Google Play, precisará definir a chave posteriormente.
  5. Clique em Registrar app.
  6. Ainda no Firebase, siga as instruções para fazer o download do arquivo de configuração google-services.json.

52f08aa18c8d59d0.png

  1. Acesse o diretório do app e mova o arquivo google-services.json que você acabou de salvar para o diretório android/app.
  2. No Console do Firebase, pule as etapas restantes e volte à página principal.
  3. Por fim, você precisa do plug-in do Google Services para Gradle para ler o arquivo google-services.json gerado pelo Firebase.
  4. No ambiente de desenvolvimento integrado ou no editor, abra o android/app/build.gradle e adicione a seguinte linha como a última do arquivo:
apply plugin: 'com.google.gms.google-services'
  1. Abra o android/build.gradle e adicione uma nova dependência dentro da tag buildscript:
buildscript { 
   repositories {
      // ...
   }
   dependencies {
      // ...
      Classpath 'com.google.gms:google-services:4.3.3'
   }
}
  1. Caso o app ainda esteja em execução, feche e recrie-o para que o Gradle instale as dependências.

Você terminou de configurar seu app para Android.

5. Desenvolver uma interface da Web do Google Analytics na Web e registrar eventos personalizados

Para acompanhar os eventos em uma WebView com o Google Analytics, insira o código no app Android e na Web.

Nesta parte, vamos analisar qual código você precisa colocar na Web. a0f31cdf21ea85d1.png

Primeiro, crie um arquivo JavaScript para usar no arquivo HTML. No exemplo de código, o arquivo js é chamado de index.js. Você precisa criar a função "logEvent" para chamar o AnalyticsWebInterface para Android e o messageHander para iOS, como no código abaixo.

6d9fac050fb64f4e.png

E chame essa função onde você quer rastrear o evento, como abaixo.

f40c1596678173ba.png

Quando o evento for acionado na WebView no Android, "window.AnalyticsWebInterface" será chamado e conectará o evento ao app nativo.

6. Hospedar diretório da Web para receber o URL da página da Web

Antes de chamar uma página da Web na WebView do seu app, você precisa de um URL. Há muitos métodos para hospedar páginas da Web, mas neste codelab, vamos orientar você a usar o serviço de hospedagem do Firebase apenas por conveniência.

  • No terminal, digite o diretório da Web (por exemplo, cd web) e execute os seguintes comandos:
  • npm install -g firebase-tools: isso vai instalar a CLI do Firebase.
  • firebase login
  • firebase init
  • Escolha "Hosting" quando perguntarem qual recurso você quer configurar.
  • Escolha o projeto que você configurou para seu app Android.
  • Aceite os padrões para todas as solicitações restantes.
  • firebase deploy --only hosting: implantação no Firebase Hosting.

e7d56dd78a4448e7.png

7. Desenvolver código de interface no app Android

Para acompanhar os eventos em uma WebView com o Google Analytics, insira o código na Web e no Android. Nesta parte, vamos analisar qual código você precisa colocar no app Android.

Crie o arquivo "AnalyticsWebInterface.java" para criar a classe "AnalyticsWebInterface". Nesta classe, você precisa programar @JavascriptInterface para conectar a função logEvent no arquivo js da Web, como abaixo.

6f069f438e4667ba.png

Em seguida, adicione a interface JavaScript na atividade que chama a WebView, como abaixo.

f2c6e5affd8c8993.png

Para conferir o código completo, consulte o exemplo de código que você baixou na etapa "Preparação".

8. Como verificar e depurar eventos

Para depurar eventos, use o código a seguir no terminal do Android Studio depois de conectar o dispositivo de teste ou iniciar o emulador.

> adb shell setprop debug.firebase.analytics.app [nome do pacote do app]

> adb shell setprop log.tag.FA VERBOSE

> adb shell setprop log.tag.FA-SVC VERBOSE

> adb logcat -v time -s FA FA-SVC

Se o código funcionar bem, você verá o registro como abaixo.

33c64f811e7e9a0f.png

Se quiser verificar no Console do Firebase, use a guia "Em tempo real". Acesse o Console do Firebase e clique na guia "Tempo real", como mostrado abaixo.

Em seguida, filtre o evento da plataforma Android usando a função "Adicionar comparação".

af6e8da348dbe775.png aa804eb02f0b7d3f.png

Os eventos do app Android vão aparecer na guia "Tempo real" se o código estiver implementado corretamente.

bde531c7a37c0851.png

É possível visualizar os eventos registrados na guia "Eventos" do Console do Firebase em várias horas. Basta clicar na guia Eventos da seção Analytics no Console do Firebase. Também é possível conferir os valores no evento event1 clicando nele.

Para marcar o event1 como uma conversão, mude a chave Marcar como conversão para a direita.

486010186b929deb.png

Se ele estiver na guia "Conversões", isso significa que ele foi marcado como uma conversão. O Google Ads agora pode importar esse evento do Firebase.

b72cf934a76e174b.png

Para fins de depuração, use o DebugView do Firebase. Para ver mais informações, consulte Depurar eventos.

9. Como importar eventos do Analytics no Google Ads

Quando a configuração do Firebase-Flutter for concluída, você estará pronto para lançar campanhas para apps com eventos de ação. Comece vinculando o Firebase ao Google Ads. Ao vincular o Firebase ao Google Ads,as campanhas para apps podem importar eventos do Firebase. Esse processo também ajuda o Google Ads a otimizar as campanhas para apps, permitindo que ele saiba mais sobre os públicos-alvo.

  1. Acesse Configurações do Firebase clicando no botão ao lado de Visão geral do projeto.
  2. Na guia Integrações, você vai encontrar o Google Ads e um botão Vincular. Clique em Vincular e em Continuar.

b711bf2e94fa0895.png

  1. Selecione a conta do Google Ads.

A parte relacionada ao Firebase já foi concluída.

Acesse o Google Ads.

  1. Faça login e acesse Ferramentas e configurações > Medição > Conversões para importar eventos personalizados como conversões.
  2. Clique no botão + para adicionar novas ações de conversão.

73cec8d2e80eab03.png

  1. Escolha Propriedades do Google Analytics 4 (Firebase) e clique em Continuar.

4b1d8f6a712b2ac6.png

  1. Você verá todos os eventos do Analytics que foram marcados como conversões. Encontre o evento event1 que implementamos antes.

e2bd5e1f7b9b73d9.png

  1. Verifique a ação, clique em Importar e em Continuar.

ab35e341dff32e48.png

Depois de definir o event1 como uma ação de conversão, você pode iniciar campanhas de ação voltadas para usuários que provavelmente vão disparar eventos do event1 mais de cinco vezes.

10. Como lançar campanhas de ação para apps com eventos importados

  1. Vá para a guia "Campanhas" da conta atual e inicie uma nova campanha clicando no botão +. Clique em [Nova campanha] e em Continuar.
  2. Lance uma campanha de promoção de app com a opção Instalações de apps.

af98c44d1476558.png

  1. Encontre seu app digitando o nome dele, do pacote ou do editor.
  2. Na seção Lances, selecione Ações no app no menu suspenso.
  3. Encontre seu evento personalizado na lista exibida. Defina o custo por ação desejado e preencha as outras opções.

ee2bf8eb80cddd7c.png

  1. Conclua as especificações da campanha.

11. Parabéns

Parabéns! Você integrou o Firebase e o Google Ads. Assim, você poderá melhorar o desempenho da sua campanha com eventos importados do Firebase.

Você aprendeu

  • Como inicializar o GA4F (Google Analytics para Firebase) em um app híbrido
  • Como criar eventos e parâmetros personalizados em uma página da Web
  • Como encaminhar os eventos em uma página da Web no WebView para um código nativo
  • Como depurar
  • Como importar eventos e usá-los em campanhas de ação.