Firebase Dynamic Links Analytics-API

Mit dieser REST-API können Sie Analysedaten für jeden Ihrer kurzen dynamischen Links abrufen, unabhängig davon, ob er in der Konsole oder programmgesteuert erstellt wurde .

API-Autorisierung

Wenn Sie Anfragen an die Dynamic Link Analytics-APIs stellen, müssen Sie ein OAuth 2.0-Zugriffstoken einschließen, das den Zugriff auf Ihr Firebase-Projekt autorisiert.

Sie können Zugriffstokens mithilfe einer Google API-Clientbibliothek erhalten:

  1. Fügen Sie Firebase zu Ihrer App hinzu , wie im Admin SDK-Einrichtungshandbuch beschrieben. Erstellen Sie also ein Dienstkonto und generieren Sie einen privaten Schlüssel.
  2. Verwenden Sie eine Google API-Clientbibliothek, um ein Zugriffstoken aus den Anmeldeinformationen Ihres Dienstkontos abzurufen:

    Java

    Verwendung der Google API-Clientbibliothek für 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

    Verwendung der Google API-Clientbibliothek für 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

    Verwendung der Google Auth- Bibliothek für 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
    

Rufen Sie Statistiken für einen einzelnen dynamischen Link ab

Verwenden Sie den linkStats Endpunkt, um Ereignisstatistiken für einen einzelnen dynamischen Link abzurufen.

HTTP-Anfrage

Eine linkStats Anfrage hat das folgende Format:

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

Authorization: Bearer ACCESS_TOKEN

Um beispielsweise Statistiken der letzten 7 Tage für den Kurzlink https://example.page.link/wXYz abzurufen:

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

Authorization: Bearer ya29.Abc123...
Parameter
SHORT_DYNAMIC_LINK Der URL-codierte kurze dynamische Link, für den Sie Ereignisdaten erhalten möchten.
DURATION Die Anzahl der Tage, für die Ereignisdaten abgerufen werden sollen. Wenn Sie beispielsweise 30 angeben, ruft die Anfrage Daten für die letzten 30 Tage ab. Beachten Sie, dass einige in den letzten 36 Stunden protokollierte Ereignisse möglicherweise nicht enthalten sind.
ACCESS_TOKEN Ein nicht abgelaufenes Zugriffstoken. Siehe API-Autorisierung .

Antwortkörper

Die Antwort auf eine Anfrage ist ein JSON-Objekt wie das folgende:

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

    ...

  ]
}

Jedes Element in der linkEventStats Liste enthält eine plattformspezifische Anzahl einiger Dynamic Link-bezogener Ereignisse (z. B. die Anzahl der Klicks auf Android). Beachten Sie, dass diese Statistiken möglicherweise keine Ereignisse umfassen, die innerhalb der letzten 36 Stunden protokolliert wurden.

Ereignis Beschreibung Firebase-Konsole REST-API
KLICKEN Anzahl aller Klicks auf einen dynamischen Link, unabhängig von seiner Handhabung und seinen Zielen
UMLEITEN Anzahl der Versuche, Benutzer entweder zum App Store oder Play Store umzuleiten, um die App zu installieren oder zu aktualisieren, oder zu einem anderen Ziel
APP_INSTALL Anzahl der tatsächlichen Installationen (wird nur vom Play Store unterstützt)
APP_FIRST_OPEN Anzahl der Erstöffnungen nach einer Installation
APP_RE_OPEN Häufigkeit, mit der der dynamische Link dazu geführt hat, dass eine App erneut geöffnet wurde