Interfejs API analizy linków dynamicznych Firebase

Możesz użyć tego interfejsu API REST, aby uzyskać dane analityczne dla każdego z krótkich łączy dynamicznych, niezależnie od tego, czy zostały utworzone w konsoli, czy programowo .

Autoryzacja API

Wysyłając żądania do interfejsów API Dynamic Link Analytics, musisz dołączyć token dostępu OAuth 2.0, który autoryzuje dostęp do Twojego projektu Firebase.

Tokeny dostępu możesz uzyskać korzystając z biblioteki klienta Google API:

  1. Dodaj Firebase do swojej aplikacji zgodnie z opisem w przewodniku konfiguracji pakietu Admin SDK. Oznacza to, że utwórz konto usługi i wygeneruj klucz prywatny.
  2. Użyj biblioteki klienta API Google, aby uzyskać token dostępu z danych logowania do konta usługi:

    Jawa

    Korzystanie z biblioteki klienta API Google dla języka 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

    Korzystanie z biblioteki klienta Google API dla 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.
      }
    });
    

    Pyton

    Korzystanie z biblioteki Google Auth dla Pythona:

    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
    

Uzyskaj statystyki dla pojedynczego łącza dynamicznego

Użyj punktu końcowego linkStats , aby uzyskać statystyki zdarzeń dla pojedynczego łącza dynamicznego.

Żądanie HTTP

Żądanie linkStats ma następujący format:

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

Authorization: Bearer ACCESS_TOKEN

Przykładowo, aby pobrać statystyki z ostatnich 7 dni dla krótkiego linku 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...
Parametry
SHORT_DYNAMIC_LINK Krótki link dynamiczny zakodowany w adresie URL , dla którego chcesz uzyskać dane o zdarzeniach.
DURATION Liczba dni, dla których mają być pobierane dane o zdarzeniach. Na przykład, jeśli określisz 30 , żądanie pobierze dane z ostatnich 30 dni. Należy pamiętać, że niektóre zdarzenia zarejestrowane w ciągu ostatnich 36 godzin mogą nie zostać uwzględnione.
ACCESS_TOKEN Niewygasły token dostępu. Zobacz Autoryzacja API .

Treść odpowiedzi

Odpowiedzią na żądanie jest obiekt JSON podobny do poniższego:

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

    ...

  ]
}

Każdy element na liście linkEventStats zawiera specyficzną dla platformy liczbę zdarzeń związanych z linkiem dynamicznym (takich jak liczba kliknięć w systemie Android). Należy pamiętać, że statystyki te mogą nie obejmować zdarzeń zarejestrowanych w ciągu ostatnich 36 godzin.

Wydarzenie Opis Konsola Firebase API RESTOWE
KLIKNIJ Liczba kliknięć łącza dynamicznego, niezależnie od sposobu jego obsługi i miejsca docelowego
PRZEADRESOWAĆ Liczba prób przekierowania użytkowników do App Store lub Play Store w celu zainstalowania lub aktualizacji aplikacji lub do innego miejsca docelowego
INSTALACJA APLIKACJI Liczba rzeczywistych instalacji (obsługiwana tylko przez Sklep Play)
APLIKACJA_FIRST_OPEN Liczba pierwszych otwarć po instalacji
APLIKACJA_RE_OPEN Liczba przypadków, gdy łącze dynamiczne spowodowało ponowne otwarcie aplikacji
,

Możesz użyć tego interfejsu API REST, aby uzyskać dane analityczne dla każdego z krótkich łączy dynamicznych, niezależnie od tego, czy zostały utworzone w konsoli, czy programowo .

Autoryzacja API

Wysyłając żądania do interfejsów API Dynamic Link Analytics, musisz dołączyć token dostępu OAuth 2.0, który autoryzuje dostęp do Twojego projektu Firebase.

Tokeny dostępu możesz uzyskać korzystając z biblioteki klienta Google API:

  1. Dodaj Firebase do swojej aplikacji zgodnie z opisem w przewodniku konfiguracji pakietu Admin SDK. Oznacza to, że utwórz konto usługi i wygeneruj klucz prywatny.
  2. Użyj biblioteki klienta API Google, aby uzyskać token dostępu z danych logowania do konta usługi:

    Jawa

    Korzystanie z biblioteki klienta API Google dla języka 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

    Korzystanie z biblioteki klienta Google API dla 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.
      }
    });
    

    Pyton

    Korzystanie z biblioteki Google Auth dla Pythona:

    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
    

Uzyskaj statystyki dla pojedynczego łącza dynamicznego

Użyj punktu końcowego linkStats , aby uzyskać statystyki zdarzeń dla pojedynczego łącza dynamicznego.

Żądanie HTTP

Żądanie linkStats ma następujący format:

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

Authorization: Bearer ACCESS_TOKEN

Przykładowo, aby pobrać statystyki z ostatnich 7 dni dla krótkiego linku 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...
Parametry
SHORT_DYNAMIC_LINK Krótki link dynamiczny zakodowany w adresie URL , dla którego chcesz uzyskać dane o zdarzeniach.
DURATION Liczba dni, dla których mają być pobierane dane o zdarzeniach. Na przykład, jeśli określisz 30 , żądanie pobierze dane z ostatnich 30 dni. Należy pamiętać, że niektóre zdarzenia zarejestrowane w ciągu ostatnich 36 godzin mogą nie zostać uwzględnione.
ACCESS_TOKEN Niewygasły token dostępu. Zobacz Autoryzacja API .

Treść odpowiedzi

Odpowiedzią na żądanie jest obiekt JSON podobny do poniższego:

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

    ...

  ]
}

Każdy element na liście linkEventStats zawiera specyficzną dla platformy liczbę zdarzeń związanych z linkiem dynamicznym (takich jak liczba kliknięć w systemie Android). Należy pamiętać, że statystyki te mogą nie obejmować zdarzeń zarejestrowanych w ciągu ostatnich 36 godzin.

Wydarzenie Opis Konsola Firebase API RESTOWE
KLIKNIJ Liczba kliknięć łącza dynamicznego, niezależnie od sposobu jego obsługi i miejsca docelowego
PRZEADRESOWAĆ Liczba prób przekierowania użytkowników do App Store lub Play Store w celu zainstalowania lub aktualizacji aplikacji lub do innego miejsca docelowego
INSTALACJA APLIKACJI Liczba rzeczywistych instalacji (obsługiwana tylko przez Sklep Play)
APLIKACJA_FIRST_OPEN Liczba pierwszych otwarć po instalacji
APLIKACJA_RE_OPEN Liczba przypadków, gdy łącze dynamiczne spowodowało ponowne otwarcie aplikacji