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:
- 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.
- Use uma biblioteca cliente da API do Google para obter um token de acesso das credenciais da sua conta de serviço:
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.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.
}
});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: BearerACCESS_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 |