API de Analytics de Firebase Dynamic Links

Puedes usar esta API de REST para obtener datos de estadísticas de cada uno de tus Dynamic Links, ya sea creado en la consola o de manera programática.

Autorización mediante la API

Cuando realices solicitudes a las Dynamic Link APIs de Analytics, deberás incluir un Es el token de acceso 2.0 que autoriza el acceso a tu proyecto de Firebase.

Puedes obtener tokens de acceso mediante una biblioteca cliente de la API de Google:

  1. Agrega Firebase a la app como descrita en la guía de configuración del SDK de Admin. Es decir, crea una cuenta de servicio y generar una clave privada.
  2. Usa una biblioteca cliente de la API de Google para obtener un token de acceso de tu servicio credenciales de la cuenta:

    Java

    Con el Biblioteca cliente de las APIs 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.
    

    Node.js

    Con el Biblioteca cliente de las APIs 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.
      }
    });
    

    Python

    Uso del Biblioteca de Google Auth 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
    

Obtener estadísticas de un solo Dynamic Link

Usa el extremo linkStats para obtener estadísticas de eventos para un solo Dynamic Link.

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 del vínculo 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 Codificado en URL: Dynamic Link para el que deseas obtener datos del evento.
DURATION La cantidad de días para los que se obtienen los datos de eventos. Por ejemplo, si especifica 30, la solicitud recupera datos de los últimos 30 días. Ten en cuenta que es posible que no se incluyan algunos eventos registrados en las últimas 36 horas.
ACCESS_TOKEN Un token de acceso no vencido. Consulta API Autorización.

Cuerpo de la 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 la cantidad de clics en Android) Ten en cuenta que es posible que estas estadísticas no incluyan eventos que se hayan registrado en los últimos 36 horas.

Evento Descripción Consola de Firebase API de REST
CLICK Recuento de los clics en un Dynamic Link, sin tener en cuenta sus destinos o la manera en que se administra
REDIRECT Recuento de los intentos de redireccionamiento de usuarios, ya sea a la App Store o a Play Store para instalar o actualizar la app, o a un destino diferente.
APP_INSTALL Recuento de instalaciones reales (compatible solo con Play Store)
APP_FIRST_OPEN Recuento de primeras aperturas después de una instalación
APP_RE_OPEN Recuento de veces que el Dynamic Link provocó que volviera a abrirse una app