Vous pouvez utiliser cette API REST pour obtenir des données d'analyse pour chacun de vos liens dynamiques courts, qu'ils soient créés dans la console ou par programme .
Autorisation API
Lorsque vous envoyez des requêtes aux API Dynamic Link Analytics, vous devez inclure un jeton d'accès OAuth 2.0 qui autorise l'accès à votre projet Firebase.
Vous pouvez obtenir des jetons d'accès à l'aide d'une bibliothèque cliente de l'API Google :
- Ajoutez Firebase à votre application comme décrit dans le guide de configuration du SDK Admin. Autrement dit, créez un compte de service et générez une clé privée.
- Utilisez une bibliothèque cliente de l'API Google pour obtenir un jeton d'accès à partir des informations d'identification de votre compte de service :
Utilisation de la bibliothèque cliente de l'API Google pour 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.Utilisation de la bibliothèque cliente de l'API Google pour 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.
}
});Utilisation de la bibliothèque Google Auth pour 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
Obtenez des statistiques pour un seul lien dynamique
Utilisez le point de terminaison linkStats
pour obtenir des statistiques d’événements pour un seul Dynamic Link.
Requête HTTP
Une requête linkStats
a le format suivant :
GET https://firebasedynamiclinks.googleapis.com/v1/SHORT_DYNAMIC_LINK /linkStats?durationDays=DURATION Authorization: BearerACCESS_TOKEN
Par exemple, pour récupérer les statistiques des 7 derniers jours pour le lien court 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...
Paramètres | |
---|---|
SHORT_DYNAMIC_LINK | Le lien dynamique court codé en URL pour lequel vous souhaitez obtenir des données d'événement. |
DURATION | Nombre de jours pendant lesquels obtenir les données d'événement. Par exemple, si vous spécifiez 30 , la requête récupère les données des 30 derniers jours. Notez que certains événements enregistrés au cours des 36 dernières heures peuvent ne pas être inclus. |
ACCESS_TOKEN | Un jeton d'accès non expiré. Voir Autorisation API . |
Corps de réponse
La réponse à une requête est un objet JSON comme le suivant :
{
"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"
},
...
]
}
Chaque élément de la liste linkEventStats
contient un nombre spécifique à la plate-forme d'un événement lié à Dynamic Link (tel que le nombre de clics sur Android). Notez que ces statistiques peuvent ne pas inclure les événements enregistrés au cours des 36 dernières heures.
Événement | Description | Console Firebase | API REST |
---|---|---|---|
CLIQUEZ SUR | Nombre de clics sur un lien dynamique, quelle que soit la manière dont il est géré et ses destinations | ||
RÉORIENTER | Nombre de tentatives de redirection des utilisateurs, soit vers l'App Store ou le Play Store pour installer ou mettre à jour l'application, soit vers une autre destination | ||
APP_INSTALL | Nombre d'installations réelles (uniquement pris en charge par le Play Store) | ||
APP_FIRST_OPEN | Nombre de premières ouvertures après une installation | ||
APP_RE_OPEN | Nombre de fois où Dynamic Link a provoqué la réouverture d'une application |
Vous pouvez utiliser cette API REST pour obtenir des données d'analyse pour chacun de vos liens dynamiques courts, qu'ils soient créés dans la console ou par programme .
Autorisation API
Lorsque vous envoyez des requêtes aux API Dynamic Link Analytics, vous devez inclure un jeton d'accès OAuth 2.0 qui autorise l'accès à votre projet Firebase.
Vous pouvez obtenir des jetons d'accès à l'aide d'une bibliothèque cliente de l'API Google :
- Ajoutez Firebase à votre application comme décrit dans le guide de configuration du SDK Admin. Autrement dit, créez un compte de service et générez une clé privée.
- Utilisez une bibliothèque cliente de l'API Google pour obtenir un jeton d'accès à partir des informations d'identification de votre compte de service :
Utilisation de la bibliothèque cliente de l'API Google pour 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.Utilisation de la bibliothèque cliente de l'API Google pour 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.
}
});Utilisation de la bibliothèque Google Auth pour 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
Obtenez des statistiques pour un seul lien dynamique
Utilisez le point de terminaison linkStats
pour obtenir des statistiques d’événements pour un seul Dynamic Link.
Requête HTTP
Une requête linkStats
a le format suivant :
GET https://firebasedynamiclinks.googleapis.com/v1/SHORT_DYNAMIC_LINK /linkStats?durationDays=DURATION Authorization: BearerACCESS_TOKEN
Par exemple, pour récupérer les statistiques des 7 derniers jours pour le lien court 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...
Paramètres | |
---|---|
SHORT_DYNAMIC_LINK | Le lien dynamique court codé en URL pour lequel vous souhaitez obtenir des données d'événement. |
DURATION | Nombre de jours pendant lesquels obtenir les données d'événement. Par exemple, si vous spécifiez 30 , la requête récupère les données des 30 derniers jours. Notez que certains événements enregistrés au cours des 36 dernières heures peuvent ne pas être inclus. |
ACCESS_TOKEN | Un jeton d'accès non expiré. Voir Autorisation API . |
Corps de réponse
La réponse à une requête est un objet JSON comme le suivant :
{
"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"
},
...
]
}
Chaque élément de la liste linkEventStats
contient un nombre spécifique à la plate-forme d'un événement lié à Dynamic Link (tel que le nombre de clics sur Android). Notez que ces statistiques peuvent ne pas inclure les événements enregistrés au cours des 36 dernières heures.
Événement | Description | Console Firebase | API REST |
---|---|---|---|
CLIQUEZ SUR | Nombre de clics sur un lien dynamique, quelle que soit la manière dont il est géré et ses destinations | ||
RÉORIENTER | Nombre de tentatives de redirection des utilisateurs, soit vers l'App Store ou le Play Store pour installer ou mettre à jour l'application, soit vers une autre destination | ||
APP_INSTALL | Nombre d'installations réelles (uniquement pris en charge par le Play Store) | ||
APP_FIRST_OPEN | Nombre de premières ouvertures après une installation | ||
APP_RE_OPEN | Nombre de fois où Dynamic Link a provoqué la réouverture d'une application |