このガイドでは、Google Chat のメッセージ履歴を Google アナリティクス Measurement Protocol のウェブおよびアプリ ストリーム イベントを Measurement Protocol イベントを表示するための Google アナリティクスのレポート。
このガイドで説明を希望するプラットフォームを選択してください。
リクエストの形式を設定
Google アナリティクス Measurement Protocol は、HTTP POST
リクエストのみをサポートしています。
イベントを送信するには、次の形式を使用してください。
POST /mp/collect HTTP/1.1
HOST: www.google-analytics.com
Content-Type: application/json
<payload_data>
リクエスト URL に次の情報を必ず含めてください。
api_secret
: Google アナリティクス管理画面で生成される API Secret。新しい Secret を作成するには、[管理] > [データ ストリーム] > ストリームを選択 > [Measurement Protocol] > [作成] の順にクリックします。
firebase_app_id
: Firebase アプリ ID。この ID は、Firebase コンソールの [プロジェクトの設定] > [全般] > [マイアプリ] > [アプリ ID] で確認できます。firebase_app_id
はapp_instance_id
とは異なります。firebase_app_id
はお客様のアプリを識別し、一方のapp_instance_id
はそのアプリの 1 回のインストールを識別します。
詳しくは、クエリ パラメータをご覧ください。
リクエスト本文には、次の情報を必ず含めてください。
app_instance_id
: Firebase アプリ インスタンスの一意の識別子(ウェブのclient_id
とは異なります)。
user_id
: 省略可。ユーザーの一意の識別子。使用できるのは UTF-8 のみです あります。この識別子について詳しくは、クロスプラットフォーム分析用の User-ID をご覧ください。consent
: 省略可。同意設定の設定方法をご確認ください。timestamp_micros
: 省略可。マイクロ秒単位の Unix エポック時刻。 リクエスト内のイベントとユーザー プロパティ。指定しない場合、 リクエスト時刻。events
: イベント項目の配列。1 つのイベントに複数のイベントを含めることができる リクエストできます。ユーザーアクティビティをレポートに表示する方法は リアルタイム、
engagement_time_msec
とsession_id
は、event
はparams
。engagement_time_msec
パラメータは次のようになります。 イベントのエンゲージメント時間(ミリ秒単位)。次の例をご覧ください。
{
"app_instance_id": "12345678901234567890123456789012",
"events": [
{
"name": "campaign_details",
"params": {
"campaign_id": "google_1234",
"campaign": "Summer_fun",
"source": "google",
"medium": "cpc",
"term": "summer+travel",
"content": "logolink",
"session_id": "123",
"engagement_time_msec": "100"
}
}
]
}
session_start
は予約済みのイベント名ですが、新しい session_id
を作成すると、session_start
を送信しなくても新たなセッションを作成できます。セッション数のカウント方法を理解しましょう。
試してみる
以下の例では、tutorial_begin
イベントを Google
分析サーバー:
const firebase_app_id = `1:1234567890:android:321abc456def7890`;
const api_secret = `<secret_value>`;
fetch(`https://www.google-analytics.com/mp/collect?firebase_app_id=${firebase_app_id}&api_secret=${api_secret}`, {
method: "POST",
body: JSON.stringify({
app_instance_id: 'app_instance_id',
events: [{
name: 'tutorial_begin',
params: {},
}]
})
});
firebase_app_id
の形式はプラットフォームによって異なります。Firebase の構成ファイルとオブジェクトのアプリケーション ID をご覧ください。
タイムスタンプをオーバーライド
Measurement Protocol では、次のリストで見つかった最初のタイムスタンプが使用されます。 リクエストの各イベントに対して行われます。
- イベントの
timestamp_micros
。 - リクエストの
timestamp_micros
。 - Measurement Protocol がリクエストを受信した時刻。
次の例では、リクエスト レベルのタイムスタンプを
渡されます。そのため、Measurement Protocol では測定対象と
tutorial_begin
イベントと join_group
イベントのタイムスタンプ:
requestUnixEpochTimeInMicros
。
{
"timestamp_micros": requestUnixEpochTimeInMicros,
"events": [
{
"name": "tutorial_begin"
},
{
"name": "join_group",
"params": {
"group_id": "G_12345",
}
}
]
}
次の例では、リクエスト レベルのタイムスタンプとイベントレベルのタイムスタンプの両方を送信します。
あります。そのため、Measurement Protocol は tutorial_begin
を割り当てます。
タイムスタンプ tutorialBeginUnixEpochTimeInMicros
、join_group
を
イベントにタイムスタンプ requestUnixEpochTimeInMicros
を付加します。
{
"timestamp_micros": requestUnixEpochTimeInMicros,
"events": [
{
"name": "tutorial_begin",
"timestamp_micros": tutorialBeginUnixEpochTimeInMicros
},
{
"name": "join_group",
"params": {
"group_id": "G_12345",
}
}
]
}
制限事項
Measurement Protocol イベントを Google アナリティクスに送信する際には、次の制限が適用されます。
- リクエスト内で指定できるイベントは 25 個までです。
- イベント内で指定できるパラメータは 25 個までです。
- イベント内で指定できるユーザー プロパティは 25 個までです。
- ユーザー プロパティ名は半角 24 文字(全角 12 文字)以下にする必要があります。
- ユーザー プロパティ値は半角 36 文字(全角 18 文字)以下にする必要があります。
- イベント名は半角 40 文字以下にして、先頭を英字にする必要があります。使用できる文字は英数字とアンダースコアのみです。
- アイテム パラメータなどのパラメータ名は半角 40 文字以下にして、先頭を英字にする必要があります。使用できる文字は英数字とアンダースコアのみです。
- アイテム パラメータなどのパラメータ値は半角 100 文字(全角 50 文字) 通常の Google アナリティクス プロパティの場合は 500 文字以下、 Google アナリティクス 360 の プロパティの一例です
- アイテム パラメータに指定できるカスタム パラメータの数は 10 個までです。
- POST 本文は 130 KB 未満にする必要があります。
- Google アナリティクスに送信されたアプリの Measurement Protocol イベントで、Google 検索にデータが入力されない Google 広告でアプリユーザーを対象にできます
各ユースケースの追加要件については、一般的なユースケースをご覧ください。