API de análise de links dinâmicos do Firebase

Você pode usar esta API REST para obter dados analíticos para cada um de seus links dinâmicos curtos, sejam eles criados no console ou programaticamente .

Autorização de API

Ao fazer solicitações às APIs Dynamic Link Analytics, você deve incluir um token de acesso OAuth 2.0 que autorize o acesso ao seu projeto do Firebase.

Você pode obter tokens de acesso usando uma biblioteca cliente da API do Google:

  1. Adicione o Firebase ao seu aplicativo conforme descrito no guia de configuração do SDK Admin. Ou seja, crie uma conta de serviço e gere uma chave privada.
  2. Use uma biblioteca cliente da API do Google para obter um token de acesso das credenciais da sua conta de serviço:

    Java

    Usando a biblioteca cliente da API do 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

    Usando a biblioteca cliente da API do 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.
      }
    });
    

    Pitão

    Usando a biblioteca 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
    

Obtenha estatísticas para um único link dinâmico

Use o endpoint linkStats para obter estatísticas de eventos para um único link dinâmico.

Solicitação HTTP

Uma solicitação linkStats tem o seguinte formato:

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

Authorization: Bearer ACCESS_TOKEN

Por exemplo, para recuperar estatísticas dos últimos 7 dias para o link curto 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 O link dinâmico curto codificado em URL para o qual você deseja obter dados de evento.
DURATION O número de dias para os quais obter dados do evento. Por exemplo, se você especificar 30 , a solicitação recuperará dados dos últimos 30 dias. Observe que alguns eventos registrados nas últimas 36 horas podem não estar incluídos.
ACCESS_TOKEN Um token de acesso não expirado. Consulte Autorização de API .

Corpo de resposta

A resposta a uma solicitação é um objeto JSON como este:

{
  "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 item na lista linkEventStats contém uma contagem específica da plataforma de algum evento relacionado ao Dynamic Link (como o número de cliques no Android). Observe que essas estatísticas podem não incluir eventos registrados nas últimas 36 horas.

Evento Descrição Console do Firebase API REST
CLIQUE Contagem de qualquer clique em um link dinâmico, independentemente de como ele é tratado e de seus destinos
REDIRECIONAR Contagem de tentativas de redirecionar usuários, seja para a App Store ou Play Store para instalar ou atualizar o aplicativo, ou para algum outro destino
APP_INSTALL Contagem de instalações reais (suportadas apenas pela Play Store)
APP_FIRST_OPEN Contagem de primeiras aberturas após uma instalação
APP_RE_OPEN Número de vezes que o Dynamic Link fez com que um aplicativo fosse reaberto