API Firebase Dynamic Links Analytics

É possível usar essa API REST para receber dados de análise de cada um dos seus Dynamic Links curtos, seja criada no console ou programaticamente.

Autorização da API

Ao fazer solicitações às APIs do Google Analytics Dynamic Link, você precisa incluir um endereço de e-mail 2.0 Token de acesso que autoriza o acesso ao seu projeto do Firebase.

É possível conseguir tokens de acesso com uma biblioteca de cliente das APIs do Google:

  1. Adicione o Firebase ao seu app como conforme descrito no guia de configuração do SDK Admin. Ou seja, criar uma conta de serviço e gerar uma chave privada.
  2. Use uma biblioteca de cliente das APIs do Google para receber um token de acesso do seu serviço credenciais da conta:

    Java

    Usar o Biblioteca de cliente das APIs 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

    Usar o Biblioteca de 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.
      }
    });
    

    Python

    Usando o Biblioteca do 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
    
.

Acessar estatísticas para uma única Dynamic Link

Use o endpoint linkStats para receber estatísticas de eventos de uma única Dynamic Link.

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 sete 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 Dynamic Link curto codificado em URL para o qual você quer receber dados de eventos.
DURATION O número de dias para recebimento de dados de eventos. Por exemplo, se você especificar 30, a solicitação recupera dados dos últimos 30 dias. Alguns eventos registrados nas últimas 36 horas podem não ser incluídos.
ACCESS_TOKEN Um token de acesso não expirado. Consulte a API Autorização.

Corpo da resposta

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

{
  "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 a Dynamic Link (como o número de cliques no Android). Observe que essas estatísticas podem não incluir eventos registrados nos últimos 36 horas.

Evento Descrição Console do Firebase API REST
CLICK Contagem de qualquer clique em um link dinâmico, independentemente de como ele é tratado e dos destinos.
REDIRECT Contagem de tentativas de redirecionar usuários, seja à App Store ou à Play Store para instalar ou atualizar o app, ou a outro destino.
APP_INSTALL Contagem de instalações reais (compatível apenas com a Play Store).
APP_FIRST_OPEN Contagem de primeiros acessos após uma instalação.
APP_RE_OPEN Número de vezes que o link dinâmico gerou um novo acesso ao app.