Firebase Dynamic Links Analytics API

この REST API を使用すると、短い Dynamic Links のそれぞれの分析データを取得できます。 (コンソールで作成するかプログラムによって作成するかに関係なく)

API の承認

Dynamic Link Analytics API にリクエストを送信するには、OAuth を含める必要があります Firebase プロジェクトへのアクセスを承認する 2.0 アクセス トークン。

アクセス トークンは、Google API クライアント ライブラリを使用して取得できます。

  1. 以下としてアプリに Firebase を追加する をご覧ください。つまり、サービス アカウントを作成して、 秘密鍵を生成します。
  2. Google API クライアント ライブラリを使用してサービスからアクセス トークンを取得する アカウント認証情報:

    Java

    <ph type="x-smartling-placeholder"></ph> Java の Google API クライアント ライブラリ:

    // 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

    <ph type="x-smartling-placeholder"></ph> Node.js 用の Google API クライアント ライブラリ:

    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.
      }
    });
    

    Python

    の使用 Python 用 Google 認証ライブラリ:

    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
    
で確認できます。

1 つの Dynamic Link の統計情報を取得する

linkStats エンドポイントを使用して、1 つの 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 <ph type="x-smartling-placeholder"></ph> イベントデータを取得する URL エンコードされた短い Dynamic Link
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 でのクリック数など)。注: これらの統計情報には、過去 30 日以内にログに記録されたイベントが 36 時間

イベント 説明 Firebase コンソール REST API
CLICK 処理方法や移動先に関係なく、ダイナミック リンクがクリックされた回数
REDIRECT アプリをインストールまたはアップデートするために App Store または Play ストアに、またはその他の宛先にユーザーをリダイレクトしようとした回数
APP_INSTALL 実際のインストール数(Play ストアでのみサポートされます)
APP_FIRST_OPEN インストール後の初回起動数
APP_RE_OPEN ダイナミック リンクでアプリが再開された回数