Firebase DynamicLinks の イベント数を計測する

こんにちは、モバイルサービス部橋本です 今回は、Firebase DynamicLinksのイベント数の取得について調査したので、その内容についてまとめます

DynamicLinkの作成方法は以下の4つの方法があります

ただし、手動で作成した場合はAnalyticsの対象にはならないので、注意が必要です。

  • Firebase コンソールを使用する
  • iOS と Android で Dynamic Link Builder API を使用する
  • REST API を使用する
  • URLパラメータを使用して、手動で作成する

Firebase ドキュメント-ダイナミック リンクを作成する

トラッキングできるイベントの種類

上記の手動以外で生成したDynamicLinksに対して、トラッキングできるイベントの種類は以下のようになっています

  • アプリの初回起動数
  • アプリの再開数
  • クリック数
  • リダイレクト数
  • アプリ インストール数 (Play ストアのみ)

Firebase ドキュメント-Dynamic Links アナリティクス データを表示する

イベント数を計測してみる

DynamicLinks Analytics APIを利用して、実際にAnalyticsイベント数を計測してみます

アクセストークンの取得

DynamicLinks Analytics APIにアクセスするためのアクセストークンを取得します

  • Firebaseのコンソール画面にログインし、「プロジェクトの設定」 - 「サービスアカウント」をクリックします
  • 画面内の「新しい秘密鍵の生成」ボタンから秘密鍵をダウンロードします

  • 上記で取得した秘密鍵ファイルを使用して、以下のようにアクセストークンを取得します

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

成功するとアクセストークンが取得できます。

続いて、取得したアクセストークンを利用して DynamicLinks Analytics API からイベント数を計測します。

DynamicLinks Analytics APIからイベント数を計測

以下のHttpリクエストを実行することで、イベント数を計測できます。

GET https://firebasedynamiclinks.googleapis.com/v1/<SHORT_DYNAMIC_LINK>/linkStats?durationDays=<DURATION>

Authorization: Bearer <ACCESS_TOKEN>
  • SHORT_DYNAMIC_LINK : 生成したDynamicLink
  • DURATION : データの取得日数(過去○日分)
  • ACCESS_TOKEN : 取得したアクセストークン

成功すると、以下のようなレスポンスが取得でき、それぞれのイベント数が計測できます

{
  "linkEventStats": [
    {
      "count": "1",
      "event": "APP_RE_OPEN",
      "platform": "ANDROID"
    },
    {
      "count": "1",
      "event": "CLICK",
      "platform": "ANDROID"
    }
  ]
}

参考