Cómo hacer un seguimiento de eventos en una WebView con Google Analytics para Firebase

1. Introducción

Última actualización: 25/02/2022

Qué compilarás

En este codelab, aprenderás a reenviar eventos desde una página web dentro de WebView a un código nativo para que GA4F pueda hacer un seguimiento de los eventos.

Usaremos la app híbrida de ejemplo para Android, que llama a una página web mediante WebView.

Qué aprenderás

  • Cómo inicializar GA4F (Google Analytics para Firebase) en una app híbrida
  • Cómo crear eventos y parámetros personalizados en una página web
  • Cómo reenviar los eventos de una página web dentro de WebView a un código nativo
  • Cómo hacer la depuración
  • Cómo importar eventos y usarlos para campañas de acción

Requisitos

  • Android Studio 3.6 o una versión posterior
  • Cuenta de Firebase

2. Cómo prepararte

Obtén el código

La guía oficial de Firebase proporciona el código de muestra en GitHub. Lo necesitamos para este proyecto.

7074c0e83b5fd4b1.png

Para comenzar, deberás descargar el código y abrirlo en tu entorno de desarrollo favorito. Usaremos 2 directorios : android y web. El "Android" es de la app para Android y la "Web" es para una página web a la que la app llamará a través de WebView.

3. Crea y configura un proyecto de Firebase

Para comenzar con Firebase, deberás crear y configurar un proyecto de Firebase.

Crea un proyecto de Firebase

  1. Accede a Firebase.

En Firebase console, haz clic en Agregar proyecto (o Crear un proyecto) y asigna el nombre que desees a tu proyecto de Firebase como Webview-test-codelab o con el nombre que desees.

fd93054e27d6b386.png

  1. Haz clic en las opciones de creación del proyecto. Acepta las condiciones de Firebase si se te solicita. Debes habilitar Google Analytics para este proyecto, ya que necesitas eventos de Google Analytics para realizar un seguimiento de los eventos de acción y analizar las conversiones.

d711cb170a42a355.png

Para obtener más información sobre los proyectos de Firebase, consulta la Información sobre los proyectos de Firebase.

4. Configuración de Firebase para Android

Configura Android en Firebase console

  1. En la página principal de Firebase console, puedes hacer clic en el ícono de Android, como se muestra a continuación. 143983fdc86ff670.png

O bien, puedes ir a Descripción general del proyecto en la barra de navegación izquierda y hacer clic en el botón Android en “Comienza por agregar Firebase a tu app”.

Luego, verás el mensaje "Agrega Firebase a tu app para Android" pantalla como se muestra a continuación.

74e684bd64bd8d9d.png

  1. Puedes encontrar el nombre de tu paquete de Android (p. ej., com.xxxx.myproject) en la sección android/app/src/main/AndroidManifest.xml del directorio de tu app.
package="com.xxxx.myproject"
  1. La clave SHA-1 no es necesaria en este caso. Esta clave solo es necesaria cuando quieres usar Acceso con Google o Firebase Dynamic Links, o bien importar datos de in_app_purchase desde Google Play, que no se incluyen en este codelab.
  2. Haga clic en Registrar app.
  3. Descarga el archivo de configuración google-services.json en Firebase console, copia y Pega este archivo en el directorio android/app del proyecto de tu app. a2c930b2dd517980.png
  4. Vuelve a Firebase console, omite los pasos restantes y regresa a la página principal de Firebase console.
  5. Por último, necesitas que el complemento de Servicios de Google para Gradle lea el archivo google-services.json que generó Firebase.
  6. En tu IDE o editor, abre android/app/build.gradle y agrega la siguiente línea como última línea en el archivo:
apply plugin: 'com.google.gms.google-services'
  1. Abre android/build.gradle. Luego, agrega una dependencia nueva dentro de la etiqueta buildscript.
buildscript { 
   repositories {
      // ...
   }
   dependencies {
      // ...
      Classpath 'com.google.gms:google-services:4.3.3'
   }
}
  1. Si tu app todavía se está ejecutando, ciérrala y vuelve a compilarla para permitir que Gradle instale las dependencias.

Completaste la configuración de tu app para Android.

5. Desarrolla una interfaz web de Analytics en la Web y registra eventos personalizados

Para realizar un seguimiento de los eventos en una WebView con Google Analytics, debes insertar el código en la Web y en la app para Android.

En esta parte, veamos qué código debes colocar en la página web. a0f31cdf21ea85d1.png

Primero, crea un archivo JavaScript para usarlo en un archivo HTML. En el código de muestra, el archivo js se llama index.js. Debes crear la función “logEvent” para llamar a "AnayticsWebInterface" para Android y "messageHander" para iOS, como el siguiente código.

66a13d9290c3b2c7.png

Y llama a esta función donde quieras realizar el seguimiento del evento en el archivo html, como se muestra a continuación.

1bf11ba7b8fae269.png

Cuando se activa un evento en WebView en la app para Android, "window.AnalyticsWebInterface" se llamará y reenviará el evento al código de WebInterface en la app.

6. Directorio web del host para obtener la URL de la página web

Para llamar a una página web dentro de WebView en tu app, necesitas una URL de página web. Habrá muchos métodos para alojar páginas web. En este codelab, usaremos el servicio de Firebase Hosting solo por conveniencia.

  • En la terminal, ingresa el directorio web (p. ej., cd web) y ejecuta los siguientes comandos:
  • npm install -g firebase-tools

esto instalará Firebase CLI.

  • firebase login
  • firebase init
  • Elige “Hosting” cuando se te pregunte qué función quieres configurar.
  • Elige el proyecto que configuraste para tu app para Android.
  • Acepta los valores predeterminados de todos los mensajes restantes.
  • firebase deploy --only hosting: Se implementa en Firebase Hosting.

a2c132502ffa8a04.png

  • Después de obtener la URL de la página web, ve al proyecto de tu app en Android Studio e inserta la URL web que acabas de realizar en este paso dentro de WebView, como se muestra a continuación.

86b44d7bf72383a7.png

7. Cómo desarrollar el código de la interfaz en la app para Android

Para hacer un seguimiento de los eventos en WebView con GA4F, debes insertar el código en la Web y en Android. En esta parte, veamos qué código debes colocar en la app para Android para recibir los eventos de la página web en WebView.

Crea el archivo "AnalyticsWebInterface.java" para que "AnalyticsWebInterface" . En esta clase, debes programar @JavascriptInterface para conectar la función logEvent en el archivo web js, como se muestra a continuación.

796981318ff44346.png

A continuación, debes agregar la interfaz de JavaScript en la actividad que llama a WebView como se muestra a continuación.

b1bd1d9bb50d418f.png

Para ver el código completo, consulta el código de muestra que descargaste de GitHub en la sección “Preparación” paso.

8. Verificación y depuración de eventos

Para los eventos de depuración, puedes usar el siguiente código en la terminal de Android Studio después de conectar el dispositivo de prueba o iniciar el emulador.

> adb shell setprop debug.firebase.analytics.app [nombre del paquete de la app]

> adb shell setprop log.tag.FA VERBOSE

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

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

Haz clic en "REGISTRAR EVENTO 1". en tu app y, si tu código funciona bien, verás el registro como se muestra a continuación.

f84d06d3534ad034.png

Si quieres comprobarlo en Firebase console, también puedes usar la pestaña En tiempo real. Ve a Firebase console y haz clic en la pestaña En tiempo real, como se muestra a continuación.

Luego, filtra los eventos de la plataforma de Android con "Agregar comparación". .

aa804eb02f0b7d3f.png

Si el código se implementó correctamente, verás los eventos de la app para Android en la pestaña En tiempo real. 334afcae650c58d4.png

Después de varias horas, podrás ver los eventos registrados en la pestaña Eventos de Firebase console. Simplemente haz clic en la pestaña Eventos de la sección Analytics presente en Firebase console. También puedes hacer clic en el evento para verificar los valores dentro del evento event1.

b72cf934a76e174b.png

Si deseas importar event1 como una conversión en Google Ads, desliza el interruptor Marcar como conversión hacia la derecha para marcarlo como conversión.

486010186b929deb.png

Si el evento está en la pestaña Conversiones, significa que lo marcaste correctamente como una conversión. Google Ads ahora podrá importar este evento desde Firebase.

Para fines de depuración, usa Firebase DebugView. Si quieres obtener más información, consulta Cómo depurar un evento.

9. Importa eventos de estadísticas en Google Ads

Una vez que completes la configuración de Firebase, estarás listo para lanzar las campañas de aplicaciones con eventos de acción. Para comenzar, vincula Firebase a Google Ads. Si vinculas Firebase a Google Ads,las campañas de aplicaciones podrán importar eventos de Firebase. Este proceso también le permite a Google Ads a mejorar las campañas de aplicaciones porque les permite obtener más información sobre sus públicos.

  1. Ve a Configuración de Firebase. Para ello, haz clic en el botón junto a Descripción general del proyecto.
  2. En la pestaña Integraciones, verás Google Ads y un botón Vincular. Haz clic en Vincular y, luego, en Continuar.

67fc1b7f75f9dcaa.png

  1. Elige la cuenta de Google Ads.

Ya terminaste con Firebase.

Ve a Google Ads.

  1. Accede y ve a Herramientas y Configuración > Medición > Conversiones para importar eventos personalizados como conversiones.
  2. Haz clic en el botón + para agregar nuevas acciones de conversión.

1eb800ed1ae776cc.png

  1. Elige Propiedades Google Analytics 4 (Firebase) y haz clic en Continuar.

8b0a0b34b1d3eae2.png

  1. Puedes ver todos los eventos de Analytics que están marcados como conversiones. Encuentra el evento event1 que implementamos antes.

e2bd5e1f7b9b73d9.png

  1. Verifica la acción, haz clic en Importar y, luego, en Continuar.

2402f11ee4e3ed2e.png

Después de configurar event1 como una acción de conversión, puedes lanzar campañas de acciones en la aplicación con el evento event1.

10. Lanzamiento de las campañas de acciones de la app con eventos importados

  1. Ve a la pestaña Campaña de tu cuenta actual y haz clic en el botón + para crear una nueva campaña. Haz clic en [Campaña nueva] y, luego, en Continuar.
  2. Lanzar una campaña de promoción de aplicación con la opción Instalaciones de aplicaciones

eda56ea9bd38c6d5.png

  1. Para encontrar tu app, escribe el nombre de la app, el nombre del paquete o el publicador.
  2. En la sección Ofertas, selecciona Acciones en la aplicación en el menú desplegable.
  3. Busca el evento personalizado en la lista proporcionada. Establezca el Costo por acción objetivo y complete las opciones adicionales.

438e581eb1b40003.png

  1. Finaliza la configuración de tu campaña.

11. Felicitaciones

Felicitaciones, integraste correctamente Firebase y Google Ads. Esto lo ayudará a mejorar el rendimiento de su campaña con los eventos importados de Firebase.

Aprendiste lo siguiente:

  • Cómo inicializar GA4F (Google Analytics para Firebase) en una app híbrida
  • Cómo crear eventos y parámetros personalizados en una página web
  • Cómo reenviar los eventos de una página web dentro de WebView a un código nativo
  • Cómo hacer la depuración
  • Cómo importar eventos y usarlos para campañas de acción

12. Referencias

Guía oficial

  • Usa Analytics en una WebView - Firebase - Google

Firebase y Configuración de Google Ads