API de análisis de enlaces dinámicos de Firebase

Puede utilizar esta API REST para obtener datos analíticos para cada uno de sus enlaces dinámicos cortos, ya sea creados en la consola o mediante programación .

Autorización API

Cuando realiza solicitudes a las API de Dynamic Link Analytics, debe incluir un token de acceso OAuth 2.0 que autorice el acceso a su proyecto de Firebase.

Puede obtener tokens de acceso utilizando una biblioteca cliente API de Google:

  1. Agregue Firebase a su aplicación como se describe en la guía de configuración del SDK de administración. Es decir, crear una cuenta de servicio y generar una clave privada.
  2. Utilice una biblioteca cliente API de Google para obtener un token de acceso de las credenciales de su cuenta de servicio:

    Java

    Usando la biblioteca cliente API de Google para Java :

    // Load the service account key JSON file
    FileInputStream serviceAccount = new FileInputStream("path/to/serviceAccountKey.json");
    
    // Authenticate a Google credential with the service account
    GoogleCredential googleCred = GoogleCredential.fromStream(serviceAccount);
    
    // Add the required scope to the Google credential
    GoogleCredential scoped = googleCred.createScoped(
        Arrays.asList(
          "https://www.googleapis.com/auth/firebase"
        )
    );
    
    // Use the Google credential to generate an access token
    scoped.refreshToken();
    String token = scoped.getAccessToken();
    
    // Include the access token in the Authorization header.
    

    Nodo.js

    Usando la biblioteca cliente API de Google para Node.js :

    var { google } = require("googleapis");
    
    // Load the service account key JSON file.
    var serviceAccount = require("path/to/serviceAccountKey.json");
    
    // Specify the required scope.
    var scopes = [
      "https://www.googleapis.com/auth/firebase"
    ];
    
    // Authenticate a JWT client with the service account.
    var jwtClient = new google.auth.JWT(
      serviceAccount.client_email,
      null,
      serviceAccount.private_key,
      scopes
    );
    
    // Use the JWT client to generate an access token.
    jwtClient.authorize(function(error, tokens) {
      if (error) {
        console.log("Error making request to generate access token:", error);
      } else if (tokens.access_token === null) {
        console.log("Provided service account does not have permission to generate access tokens");
      } else {
        var accessToken = tokens.access_token;
    
        // Include the access token in the Authorization header.
      }
    });
    

    Pitón

    Usando la biblioteca de autenticación de Google para Python:

    from google.oauth2 import service_account
    from google.auth.transport.requests import AuthorizedSession
    
    # Specify the required scope
    scopes = [
      "https://www.googleapis.com/auth/firebase"
    ]
    
    # Authenticate a credential with the service account
    credentials = service_account.Credentials.from_service_account_file(
        "path/to/serviceAccountKey.json", scopes=scopes)
    
    # Use the credentials object to authenticate a Requests session.
    authed_session = AuthorizedSession(credentials)
    response = authed_session.get(
        "https://firebasedynamiclinks.googleapis.com/v1/SHORT_DYNAMIC_LINK/linkStats?durationDays=DURATION")
    
    # Or, use the token directly, as described below.
    request = google.auth.transport.requests.Request()
    credentials.refresh(request)
    access_token = credentials.token
    

Obtenga estadísticas para un único enlace dinámico

Utilice el punto final linkStats para obtener estadísticas de eventos para un único vínculo dinámico.

solicitud HTTP

Una solicitud linkStats tiene el siguiente formato:

GET https://firebasedynamiclinks.googleapis.com/v1/SHORT_DYNAMIC_LINK/linkStats?durationDays=DURATION

Authorization: Bearer ACCESS_TOKEN

Por ejemplo, para recuperar estadísticas de los últimos 7 días para el enlace corto https://example.page.link/wXYz :

GET https://firebasedynamiclinks.googleapis.com/v1/https%3A%2F%2Fexample.page.link%2FwXYz/linkStats?durationDays=7

Authorization: Bearer ya29.Abc123...
Parámetros
SHORT_DYNAMIC_LINK El enlace dinámico corto codificado en URL para el cual desea obtener datos del evento.
DURATION El número de días para los que se obtienen datos del evento. Por ejemplo, si especifica 30 , la solicitud recupera datos de los últimos 30 días. Tenga en cuenta que es posible que algunos eventos registrados en las últimas 36 horas no se incluyan.
ACCESS_TOKEN Un token de acceso vigente. Consulte Autorización de API .

Cuerpo de respuesta

La respuesta a una solicitud es un objeto JSON como el siguiente:

{
  "linkEventStats": [
    {
      "platform": "ANDROID",
      "count": "123",
      "event": "CLICK"
    },
    {
      "platform": "IOS",
      "count": "123",
      "event": "CLICK"
    },
    {
      "platform": "DESKTOP",
      "count": "456",
      "event": "CLICK"
    },
    {
      "platform": "ANDROID",
      "count": "99",
      "event": "APP_INSTALL"
    },
    {
      "platform": "ANDROID",
      "count": "42",
      "event": "APP_FIRST_OPEN"
    },

    ...

  ]
}

Cada elemento de la lista linkEventStats contiene un recuento específico de la plataforma de algún evento relacionado con Dynamic Link (como el número de clics en Android). Tenga en cuenta que es posible que estas estadísticas no incluyan eventos que se hayan registrado en las últimas 36 horas.

Evento Descripción Consola de base de fuego API DESCANSO
HACER CLIC Recuento de cualquier clic en un enlace dinámico, independientemente de cómo se maneje y sus destinos.
REDIRIGIR Recuento de intentos de redirigir a los usuarios, ya sea a App Store o Play Store para instalar o actualizar la aplicación, o a algún otro destino.
INSTALACIÓN_APLICACIÓN Recuento de instalaciones reales (solo compatible con Play Store)
APLICACIÓN_FIRST_OPEN Recuento de primeras aperturas después de una instalación
APP_RE_OPEN Número de veces que el vínculo dinámico provocó que se volviera a abrir una aplicación
,

Puede utilizar esta API REST para obtener datos analíticos para cada uno de sus enlaces dinámicos cortos, ya sea creados en la consola o mediante programación .

Autorización API

Cuando realiza solicitudes a las API de Dynamic Link Analytics, debe incluir un token de acceso OAuth 2.0 que autorice el acceso a su proyecto de Firebase.

Puede obtener tokens de acceso utilizando una biblioteca cliente API de Google:

  1. Agregue Firebase a su aplicación como se describe en la guía de configuración del SDK de administración. Es decir, crear una cuenta de servicio y generar una clave privada.
  2. Utilice una biblioteca cliente API de Google para obtener un token de acceso de las credenciales de su cuenta de servicio:

    Java

    Usando la biblioteca cliente API de Google para Java :

    // Load the service account key JSON file
    FileInputStream serviceAccount = new FileInputStream("path/to/serviceAccountKey.json");
    
    // Authenticate a Google credential with the service account
    GoogleCredential googleCred = GoogleCredential.fromStream(serviceAccount);
    
    // Add the required scope to the Google credential
    GoogleCredential scoped = googleCred.createScoped(
        Arrays.asList(
          "https://www.googleapis.com/auth/firebase"
        )
    );
    
    // Use the Google credential to generate an access token
    scoped.refreshToken();
    String token = scoped.getAccessToken();
    
    // Include the access token in the Authorization header.
    

    Nodo.js

    Usando la biblioteca cliente API de Google para Node.js :

    var { google } = require("googleapis");
    
    // Load the service account key JSON file.
    var serviceAccount = require("path/to/serviceAccountKey.json");
    
    // Specify the required scope.
    var scopes = [
      "https://www.googleapis.com/auth/firebase"
    ];
    
    // Authenticate a JWT client with the service account.
    var jwtClient = new google.auth.JWT(
      serviceAccount.client_email,
      null,
      serviceAccount.private_key,
      scopes
    );
    
    // Use the JWT client to generate an access token.
    jwtClient.authorize(function(error, tokens) {
      if (error) {
        console.log("Error making request to generate access token:", error);
      } else if (tokens.access_token === null) {
        console.log("Provided service account does not have permission to generate access tokens");
      } else {
        var accessToken = tokens.access_token;
    
        // Include the access token in the Authorization header.
      }
    });
    

    Pitón

    Usando la biblioteca de autenticación de Google para Python:

    from google.oauth2 import service_account
    from google.auth.transport.requests import AuthorizedSession
    
    # Specify the required scope
    scopes = [
      "https://www.googleapis.com/auth/firebase"
    ]
    
    # Authenticate a credential with the service account
    credentials = service_account.Credentials.from_service_account_file(
        "path/to/serviceAccountKey.json", scopes=scopes)
    
    # Use the credentials object to authenticate a Requests session.
    authed_session = AuthorizedSession(credentials)
    response = authed_session.get(
        "https://firebasedynamiclinks.googleapis.com/v1/SHORT_DYNAMIC_LINK/linkStats?durationDays=DURATION")
    
    # Or, use the token directly, as described below.
    request = google.auth.transport.requests.Request()
    credentials.refresh(request)
    access_token = credentials.token
    

Obtenga estadísticas para un único enlace dinámico

Utilice el punto final linkStats para obtener estadísticas de eventos para un único vínculo dinámico.

solicitud HTTP

Una solicitud linkStats tiene el siguiente formato:

GET https://firebasedynamiclinks.googleapis.com/v1/SHORT_DYNAMIC_LINK/linkStats?durationDays=DURATION

Authorization: Bearer ACCESS_TOKEN

Por ejemplo, para recuperar estadísticas de los últimos 7 días para el enlace corto https://example.page.link/wXYz :

GET https://firebasedynamiclinks.googleapis.com/v1/https%3A%2F%2Fexample.page.link%2FwXYz/linkStats?durationDays=7

Authorization: Bearer ya29.Abc123...
Parámetros
SHORT_DYNAMIC_LINK El enlace dinámico corto codificado en URL para el cual desea obtener datos del evento.
DURATION El número de días para los que se obtienen datos del evento. Por ejemplo, si especifica 30 , la solicitud recupera datos de los últimos 30 días. Tenga en cuenta que es posible que algunos eventos registrados en las últimas 36 horas no se incluyan.
ACCESS_TOKEN Un token de acceso vigente. Consulte Autorización de API .

Cuerpo de respuesta

La respuesta a una solicitud es un objeto JSON como el siguiente:

{
  "linkEventStats": [
    {
      "platform": "ANDROID",
      "count": "123",
      "event": "CLICK"
    },
    {
      "platform": "IOS",
      "count": "123",
      "event": "CLICK"
    },
    {
      "platform": "DESKTOP",
      "count": "456",
      "event": "CLICK"
    },
    {
      "platform": "ANDROID",
      "count": "99",
      "event": "APP_INSTALL"
    },
    {
      "platform": "ANDROID",
      "count": "42",
      "event": "APP_FIRST_OPEN"
    },

    ...

  ]
}

Cada elemento de la lista linkEventStats contiene un recuento específico de la plataforma de algún evento relacionado con Dynamic Link (como el número de clics en Android). Tenga en cuenta que es posible que estas estadísticas no incluyan eventos que se hayan registrado en las últimas 36 horas.

Evento Descripción Consola de base de fuego API DESCANSO
HACER CLIC Recuento de cualquier clic en un enlace dinámico, independientemente de cómo se maneje y sus destinos.
REDIRIGIR Recuento de intentos de redirigir a los usuarios, ya sea a App Store o Play Store para instalar o actualizar la aplicación, o a algún otro destino.
INSTALACIÓN_APLICACIÓN Recuento de instalaciones reales (solo compatible con Play Store)
APLICACIÓN_FIRST_OPEN Recuento de primeras aperturas después de una instalación
APP_RE_OPEN Número de veces que el vínculo dinámico provocó que se volviera a abrir una aplicación