É 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:
- 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.
- 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. |