API d'analyse de liens dynamiques Firebase

Vous pouvez utiliser cette API REST pour obtenir des données d'analyse pour chacun de vos liens dynamiques courts, qu'ils soient créés dans la console ou par programme .

Autorisation API

Lorsque vous envoyez des requêtes aux API Dynamic Link Analytics, vous devez inclure un jeton d'accès OAuth 2.0 qui autorise l'accès à votre projet Firebase.

Vous pouvez obtenir des jetons d'accès à l'aide d'une bibliothèque cliente de l'API Google :

  1. Ajoutez Firebase à votre application comme décrit dans le guide de configuration du SDK Admin. Autrement dit, créez un compte de service et générez une clé privée.
  2. Utilisez une bibliothèque cliente de l'API Google pour obtenir un jeton d'accès à partir des informations d'identification de votre compte de service :

    Java

    Utilisation de la bibliothèque cliente de l'API Google pour 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.
    

    Noeud.js

    Utilisation de la bibliothèque cliente de l'API Google pour 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

    Utilisation de la bibliothèque Google Auth pour 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
    

Obtenez des statistiques pour un seul lien dynamique

Utilisez le point de terminaison linkStats pour obtenir des statistiques d’événements pour un seul Dynamic Link.

Requête HTTP

Une requête linkStats a le format suivant :

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

Authorization: Bearer ACCESS_TOKEN

Par exemple, pour récupérer les statistiques des 7 derniers jours pour le lien court 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...
Paramètres
SHORT_DYNAMIC_LINK Le lien dynamique court codé en URL pour lequel vous souhaitez obtenir des données d'événement.
DURATION Nombre de jours pendant lesquels obtenir les données d'événement. Par exemple, si vous spécifiez 30 , la requête récupère les données des 30 derniers jours. Notez que certains événements enregistrés au cours des 36 dernières heures peuvent ne pas être inclus.
ACCESS_TOKEN Un jeton d'accès non expiré. Voir Autorisation API .

Corps de réponse

La réponse à une requête est un objet JSON comme le suivant :

{
  "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"
    },

    ...

  ]
}

Chaque élément de la liste linkEventStats contient un nombre spécifique à la plate-forme d'un événement lié à Dynamic Link (tel que le nombre de clics sur Android). Notez que ces statistiques peuvent ne pas inclure les événements enregistrés au cours des 36 dernières heures.

Événement Description Console Firebase API REST
CLIQUEZ SUR Nombre de clics sur un lien dynamique, quelle que soit la manière dont il est géré et ses destinations
RÉORIENTER Nombre de tentatives de redirection des utilisateurs, soit vers l'App Store ou le Play Store pour installer ou mettre à jour l'application, soit vers une autre destination
APP_INSTALL Nombre d'installations réelles (uniquement pris en charge par le Play Store)
APP_FIRST_OPEN Nombre de premières ouvertures après une installation
APP_RE_OPEN Nombre de fois où Dynamic Link a provoqué la réouverture d'une application
,

Vous pouvez utiliser cette API REST pour obtenir des données d'analyse pour chacun de vos liens dynamiques courts, qu'ils soient créés dans la console ou par programme .

Autorisation API

Lorsque vous envoyez des requêtes aux API Dynamic Link Analytics, vous devez inclure un jeton d'accès OAuth 2.0 qui autorise l'accès à votre projet Firebase.

Vous pouvez obtenir des jetons d'accès à l'aide d'une bibliothèque cliente de l'API Google :

  1. Ajoutez Firebase à votre application comme décrit dans le guide de configuration du SDK Admin. Autrement dit, créez un compte de service et générez une clé privée.
  2. Utilisez une bibliothèque cliente de l'API Google pour obtenir un jeton d'accès à partir des informations d'identification de votre compte de service :

    Java

    Utilisation de la bibliothèque cliente de l'API Google pour 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.
    

    Noeud.js

    Utilisation de la bibliothèque cliente de l'API Google pour 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

    Utilisation de la bibliothèque Google Auth pour 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
    

Obtenez des statistiques pour un seul lien dynamique

Utilisez le point de terminaison linkStats pour obtenir des statistiques d’événements pour un seul Dynamic Link.

Requête HTTP

Une requête linkStats a le format suivant :

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

Authorization: Bearer ACCESS_TOKEN

Par exemple, pour récupérer les statistiques des 7 derniers jours pour le lien court 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...
Paramètres
SHORT_DYNAMIC_LINK Le lien dynamique court codé en URL pour lequel vous souhaitez obtenir des données d'événement.
DURATION Nombre de jours pendant lesquels obtenir les données d'événement. Par exemple, si vous spécifiez 30 , la requête récupère les données des 30 derniers jours. Notez que certains événements enregistrés au cours des 36 dernières heures peuvent ne pas être inclus.
ACCESS_TOKEN Un jeton d'accès non expiré. Voir Autorisation API .

Corps de réponse

La réponse à une requête est un objet JSON comme le suivant :

{
  "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"
    },

    ...

  ]
}

Chaque élément de la liste linkEventStats contient un nombre spécifique à la plate-forme d'un événement lié à Dynamic Link (tel que le nombre de clics sur Android). Notez que ces statistiques peuvent ne pas inclure les événements enregistrés au cours des 36 dernières heures.

Événement Description Console Firebase API REST
CLIQUEZ SUR Nombre de clics sur un lien dynamique, quelle que soit la manière dont il est géré et ses destinations
RÉORIENTER Nombre de tentatives de redirection des utilisateurs, soit vers l'App Store ou le Play Store pour installer ou mettre à jour l'application, soit vers une autre destination
APP_INSTALL Nombre d'installations réelles (uniquement pris en charge par le Play Store)
APP_FIRST_OPEN Nombre de premières ouvertures après une installation
APP_RE_OPEN Nombre de fois où Dynamic Link a provoqué la réouverture d'une application