Вы можете использовать этот REST API для получения аналитических данных для каждой из ваших коротких Dynamic Links , созданных в консоли или программным способом .
API-авторизация
Когда вы отправляете запросы к API Dynamic Link Analytics, вы должны включить токен доступа OAuth 2.0, который разрешает доступ к вашему проекту Firebase.
Получить токены доступа можно с помощью клиентской библиотеки Google API:
- Добавьте Firebase в свое приложение , как описано в руководстве по настройке Admin SDK. То есть создайте учетную запись службы и сгенерируйте закрытый ключ.
- Используйте клиентскую библиотеку Google API, чтобы получить токен доступа из учетных данных вашей учетной записи службы:
Ява
Использование клиентской библиотеки Google API для 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
Использование клиентской библиотеки Google API для 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. } });
Питон
Использование библиотеки Google Auth для 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
Получить статистику по одной Dynamic Link
Используйте конечную точку linkStats
, чтобы получить статистику событий для одной Dynamic Link .
HTTP-запрос
Запрос linkStats
имеет следующий формат:
GET https://firebasedynamiclinks.googleapis.com/v1/SHORT_DYNAMIC_LINK/linkStats?durationDays=DURATION Authorization: Bearer ACCESS_TOKEN
Например, чтобы получить статистику за последние 7 дней по короткой ссылке 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...
Параметры | |
---|---|
SHORT_DYNAMIC_LINK | Короткая Dynamic Link в URL-коде , для которой вы хотите получить данные о событии. |
DURATION | Количество дней, за которые можно получить данные о событиях. Например, если вы укажете 30 , запрос получит данные за последние 30 дней. Обратите внимание, что некоторые события, зарегистрированные за последние 36 часов, могут быть не включены. |
ACCESS_TOKEN | Токен доступа с неистёкшим сроком действия. См. Авторизация API . |
Тело ответа
Ответом на запрос является объект JSON, подобный следующему:
{
"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"
},
...
]
}
Каждый элемент в списке linkEventStats
содержит счетчик некоторых событий, связанных с Dynamic Link , для конкретной платформы (например, количество кликов на Android). Обратите внимание, что эта статистика может не включать события, зарегистрированные за последние 36 часов.
Событие | Описание | Консоль Firebase | ОТДЫХ API |
---|---|---|---|
НАЖМИТЕ | Количество кликов по динамической ссылке, независимо от того, как она обрабатывается и куда она направляется. | ||
ПЕРЕНАПРАВИТЬ | Количество попыток перенаправить пользователей в App Store или Play Store для установки или обновления приложения или в другое место. | ||
ПРИЛОЖЕНИЕ_INSTALL | Количество фактических установок (поддерживается только в Play Store) | ||
ПРИЛОЖЕНИЕ_FIRST_OPEN | Количество первых открытий после установки | ||
ПРИЛОЖЕНИЕ_RE_OPEN | Сколько раз динамическая ссылка приводила к повторному открытию приложения |