API аналитики динамических ссылок Firebase

Вы можете использовать этот REST API для получения аналитических данных для каждой из ваших коротких Dynamic Links , созданных в консоли или программным способом .

API-авторизация

Когда вы отправляете запросы к API Dynamic Link Analytics, вы должны включить токен доступа OAuth 2.0, который разрешает доступ к вашему проекту Firebase.

Получить токены доступа можно с помощью клиентской библиотеки Google API:

  1. Добавьте Firebase в свое приложение , как описано в руководстве по настройке Admin SDK. То есть создайте учетную запись службы и сгенерируйте закрытый ключ.
  2. Используйте клиентскую библиотеку 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 Сколько раз динамическая ссылка приводила к повторному открытию приложения