> ## Documentation Index
> Fetch the complete documentation index at: https://documentation.onesignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Google Analytics para Firebase

> OneSignal enviará automáticamente eventos de notificación a tu dashboard de analíticas si Google Analytics para Firebase está correctamente implementado. Funciona con iOS y Android.

[Google Analytics para Firebase](https://firebase.google.com/products/analytics) es una herramienta de seguimiento de eventos proporcionada gratuitamente por Google Firebase. Te permite rastrear fácilmente eventos dentro de tu aplicación y analizarlos más tarde usando varios filtros.

<Warning>
  Esta integración no soporta parámetros UTM en la URL de lanzamiento.

  En Web, el código GA capturará los valores basados en la URL en el navegador.

  En Móvil, necesitarás capturar estos valores y pasarlos a GA. Nuestro Notification Opened Event Handler puede usarse para obtener el payload de notificación.
</Warning>

## Eventos

El SDK de OneSignal rastrea eventos que pertenecen a eventos de apertura y recepción de notificaciones. Se envían los siguientes eventos:

| Nombre del evento                | Detalles                                                                                                                                          |
| -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| `os_notification_opened`         | Se abrió una notificación de OneSignal                                                                                                            |
| `os_notification_received`       | Se recibió una notificación de OneSignal. (**Solo Android**)                                                                                      |
| `os_notification_influence_open` | Se abrió una aplicación dentro de 2 minutos de recibirse una notificación de OneSignal. ([iOS requiere configuración adicional](./ios-sdk-setup)) |

El SDK de OneSignal también envía parámetros que contienen más información sobre la notificación particular a la que se atribuye el evento:

| Nombre del parámetro | Valor del parámetro                                                                                                                                                        | Detalles                                                                                                                          |
| -------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- |
| `source`             | "OneSignal"                                                                                                                                                                | Para atribuir la fuente de este evento al SDK de OneSignal                                                                        |
| `medium`             | "notification"                                                                                                                                                             | Una indicación formal de que el medio para el evento es una notificación                                                          |
| `notification_id`    | el `notification_id` de una notificación particular de OneSignal                                                                                                           | Puedes atribuir un ID de notificación a una notificación "enviada" particular en el dashboard                                     |
| `campaign`           | Si se usa una plantilla:`[template_name]-[template_id]` Si no: Primeras 10 letras de la [propiedad API](/reference/push-notification) `headings` o Título de notificación. | Las campañas son una forma de agrupar notificaciones que son similares, como notificaciones que usan la misma plantilla o título. |

***

## Configurar integración de eventos OneSignal con Google Analytics para Firebase

### Configurar Firebase

Sigue la [documentación de integración de Firebase](https://firebase.google.com/docs/android/setup) y verifica que Firebase esté funcionando correctamente dentro de tu aplicación.

### Habilitar Firebase en OneSignal

Navega a **Data > Integrations** y habilita **"Firebase"**.

Esto comenzará a enviar datos de eventos a Firebase. Si deseas rastrear aperturas influenciadas en iOS, necesitarás realizar alguna [configuración adicional](./ios-sdk-setup) debido a limitaciones en Firebase.

<Frame caption="Firebase habilitado en OneSignal">
  <img src="https://mintcdn.com/onesignal/yt4lRKoquAlWvRvF/images/integrations/Integrations.png?fit=max&auto=format&n=yt4lRKoquAlWvRvF&q=85&s=61a02b7a3829ff83ed2f1013c186b3e4" data-path="images/integrations/Integrations.png" />
</Frame>

### Verificar eventos de OneSignal

<Steps>
  <Step title="Verifica los logs de tu aplicación">
    Verifica que Firebase esté intentando enviar eventos relacionados con notificaciones de OneSignal

    Verifica en los logs LogCat de tu aplicación y busca entradas de Google Analytics para Firebase que indiquen que se están enviando eventos correspondientes a OneSignal. Busca `os_notification_opened`,`os_notification_received`, o `os_notification_influence_open`

    <Frame caption="Eventos de Firebase en LogCat">
      <img src="https://mintcdn.com/onesignal/6v_cVPknFpo5qSVB/images/docs/0dc5c63-firebase_analytics_3.png?fit=max&auto=format&n=6v_cVPknFpo5qSVB&q=85&s=0d20d440318aed8908313e89084d3bb9" width="1560" height="42" data-path="images/docs/0dc5c63-firebase_analytics_3.png" />
    </Frame>
  </Step>

  <Step title="Ve a la consola de Firebase">
    Ve a la [Consola de Firebase](https://console.firebase.google.com/) para tu proyecto

    <Frame caption="Consola de Firebase">
      <img src="https://mintcdn.com/onesignal/MUgio66t0sYhGEvj/images/docs/646c537-firebase_analytics_1.png?fit=max&auto=format&n=MUgio66t0sYhGEvj&q=85&s=2637f7f9b40c23e5d69f0ab0510a127e" width="2878" height="1078" data-path="images/docs/646c537-firebase_analytics_1.png" />
    </Frame>
  </Step>

  <Step title="Sigue la Guía de configuración de DebugView">
    Sigue la [Guía de configuración de DebugView](https://firebase.google.com/docs/analytics/debugview)

    DebugView permite a ADB enviar eventos de Firebase a tu proyecto cuando está en modo `debug`. Aquí hay un gran video sobre esto para iOS: [https://youtu.be/kpkW78OSbiw?t=289](https://youtu.be/kpkW78OSbiw?t=289)

    Ejemplo de logs de depuración

    ```text Xcode logs example theme={null}
      2021-09-22 14:58:20.731918-0700 OneSignalDemo[33301:1350721] 7.0.0 - [Firebase/Analytics][I-ACS023073] Debug mode is enabled. Marking event as debug and real-time. Event name, parameters: os_notification_opened, {
          campaign = Firebase t;
          ga_debug (_dbg) = 1;
          ga_event_origin (_o) = app;
          ga_realtime (_r) = 1;
          medium = notification;
          notification_id = 2ecdd9bf-b2c0-443e-b5b2-7983d453c746;
          source = OneSignal;
      }
      2021-09-22 14:58:20.749723-0700 OneSignalDemo[33301:1350721] 7.0.0 - [Firebase/Analytics][I-ACS023072] Event logged. Event name, event params: os_notification_opened, {
          campaign = Firebase t;
          ga_debug (_dbg) = 1;
          ga_event_origin (_o) = app;
          ga_realtime (_r) = 1;
          medium = notification;
          notification_id = 2ecdd9bf-b2c0-443e-b5b2-7983d453c746;
          source = OneSignal;
      }
    ```
  </Step>

  <Step title="Verifica el DebugView">
    A medida que los eventos de OneSignal se propagan, aparecerán en tiempo real en el DebugView

    <Frame caption="DebugView">
      <img src="https://mintcdn.com/onesignal/_KaXe4GQkxsEfa17/images/docs/39a888e-Screen_Shot_2021-09-22_at_3.16.55_PM.png?fit=max&auto=format&n=_KaXe4GQkxsEfa17&q=85&s=3bebf24697b77a5cc2acb5b0a06aec87" width="3376" height="1756" data-path="images/docs/39a888e-Screen_Shot_2021-09-22_at_3.16.55_PM.png" />
    </Frame>
  </Step>
</Steps>

<Check>
  **¡Tu aplicación ha sido verificada para rastrear eventos de notificación de OneSignal a través de Google Analytics para Firebase!**
</Check>

***

## FAQ

### ¿Por qué los eventos de clic y apertura no se muestran en Firebase?

El evento de clic de Firebase `os_notification_opened` y el evento recibido `os_notification_received` pueden no funcionar si la biblioteca de Firebase no se ha inicializado a tiempo, por lo que la biblioteca de Firebase descarta el evento. Más detalles en [este issue de github](https://github.com/OneSignal/OneSignal-Android-SDK/issues/949).

<Note>
  Vincula tu Base de datos de Firebase y usa Firebase Cloud Functions con OneSignal siguiendo nuestro [Tutorial de configuración de Firebase](./google-analytics-for-firebase).
</Note>

***
