API Firebase Dynamic Links Analytics

Puoi utilizzare questa API REST per ottenere dati analitici per ciascuno dei tuoi collegamenti dinamici brevi, creati nella console o a livello di codice .

Autorizzazione API

Quando effettui richieste alle API Dynamic Link Analytics, devi includere un token di accesso OAuth 2.0 che autorizzi l'accesso al tuo progetto Firebase.

Puoi ottenere token di accesso utilizzando una libreria client API di Google:

  1. Aggiungi Firebase alla tua app come descritto nella guida alla configurazione di Admin SDK. Cioè, crea un account di servizio e genera una chiave privata.
  2. Utilizza una libreria client API di Google per ottenere un token di accesso dalle credenziali del tuo account di servizio:

    Giava

    Utilizzando la libreria client API di Google per 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

    Utilizzando la libreria client API di Google per 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.
      }
    });
    

    Pitone

    Utilizzando la libreria Google Auth per 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
    

Ottieni statistiche per un singolo collegamento dinamico

Utilizza l'endpoint linkStats per ottenere le statistiche degli eventi per un singolo collegamento dinamico.

Richiesta HTTP

Una richiesta linkStats ha il seguente formato:

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

Authorization: Bearer ACCESS_TOKEN

Ad esempio, per recuperare le statistiche degli ultimi 7 giorni per il collegamento breve 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...
Parametri
SHORT_DYNAMIC_LINK Il collegamento dinamico breve codificato nell'URL per il quale desideri ottenere i dati dell'evento.
DURATION Il numero di giorni per i quali ottenere i dati dell'evento. Ad esempio, se specifichi 30 , la richiesta recupera i dati degli ultimi 30 giorni. Tieni presente che alcuni eventi registrati nelle ultime 36 ore potrebbero non essere inclusi.
ACCESS_TOKEN Un token di accesso non scaduto. Vedi Autorizzazione API .

Corpo della risposta

La risposta a una richiesta è un oggetto JSON come il seguente:

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

    ...

  ]
}

Ogni elemento nell'elenco linkEventStats contiene un conteggio specifico della piattaforma di alcuni eventi correlati a Dynamic Link (come il numero di clic su Android). Tieni presente che queste statistiche potrebbero non includere eventi registrati nelle ultime 36 ore.

Evento Descrizione Console FireBase API REST
CLIC Conteggio di eventuali clic su un collegamento dinamico, indipendentemente da come viene gestito e dalle sue destinazioni
REINDIRIZZARE Conteggio dei tentativi di reindirizzare gli utenti all'App Store o al Play Store per installare o aggiornare l'app o verso un'altra destinazione
APP_INSTALL Conteggio delle installazioni effettive (supportato solo dal Play Store)
APP_FIRST_OPEN Conteggio delle prime aperture dopo un'installazione
APP_RE_OPEN Numero di volte in cui Dynamic Link ha causato la riapertura di un'app
,

Puoi utilizzare questa API REST per ottenere dati analitici per ciascuno dei tuoi collegamenti dinamici brevi, creati nella console o a livello di codice .

Autorizzazione API

Quando effettui richieste alle API Dynamic Link Analytics, devi includere un token di accesso OAuth 2.0 che autorizzi l'accesso al tuo progetto Firebase.

Puoi ottenere token di accesso utilizzando una libreria client API di Google:

  1. Aggiungi Firebase alla tua app come descritto nella guida alla configurazione di Admin SDK. Cioè, crea un account di servizio e genera una chiave privata.
  2. Utilizza una libreria client API di Google per ottenere un token di accesso dalle credenziali del tuo account di servizio:

    Giava

    Utilizzando la libreria client API di Google per 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

    Utilizzando la libreria client API di Google per 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.
      }
    });
    

    Pitone

    Utilizzando la libreria Google Auth per 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
    

Ottieni statistiche per un singolo collegamento dinamico

Utilizza l'endpoint linkStats per ottenere le statistiche degli eventi per un singolo collegamento dinamico.

Richiesta HTTP

Una richiesta linkStats ha il seguente formato:

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

Authorization: Bearer ACCESS_TOKEN

Ad esempio, per recuperare le statistiche degli ultimi 7 giorni per il collegamento breve 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...
Parametri
SHORT_DYNAMIC_LINK Il collegamento dinamico breve codificato nell'URL per il quale desideri ottenere i dati dell'evento.
DURATION Il numero di giorni per i quali ottenere i dati dell'evento. Ad esempio, se specifichi 30 , la richiesta recupera i dati degli ultimi 30 giorni. Tieni presente che alcuni eventi registrati nelle ultime 36 ore potrebbero non essere inclusi.
ACCESS_TOKEN Un token di accesso non scaduto. Vedi Autorizzazione API .

Corpo della risposta

La risposta a una richiesta è un oggetto JSON come il seguente:

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

    ...

  ]
}

Ogni elemento nell'elenco linkEventStats contiene un conteggio specifico della piattaforma di alcuni eventi correlati a Dynamic Link (come il numero di clic su Android). Tieni presente che queste statistiche potrebbero non includere eventi registrati nelle ultime 36 ore.

Evento Descrizione Console FireBase API REST
CLIC Conteggio di eventuali clic su un collegamento dinamico, indipendentemente da come viene gestito e dalle sue destinazioni
REINDIRIZZARE Conteggio dei tentativi di reindirizzare gli utenti all'App Store o al Play Store per installare o aggiornare l'app o verso un'altra destinazione
APP_INSTALL Conteggio delle installazioni effettive (supportato solo dal Play Store)
APP_FIRST_OPEN Conteggio delle prime aperture dopo un'installazione
APP_RE_OPEN Numero di volte in cui Dynamic Link ha causato la riapertura di un'app