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

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

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
    

Получить статистику по одной динамической ссылке

Используйте конечную точку linkStats , чтобы получить статистику событий для одной динамической ссылки.

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 Короткая динамическая ссылка в 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 Сколько раз динамическая ссылка приводила к повторному открытию приложения
,

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

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
    

Получить статистику по одной динамической ссылке

Используйте конечную точку linkStats , чтобы получить статистику событий для одной динамической ссылки.

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 Короткая динамическая ссылка в 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 Сколько раз динамическая ссылка приводила к повторному открытию приложения