ユーザー IDを設定する
Braze SDKでユーザーIDを設定する方法を学習します。これは、デバイスやプラットフォームを超えてユーザーを追跡し、ユーザーデータAPIを通じてユーザーデータをインポートし、メッセージングAPIを通じてターゲットメッセージを送信するための一意の識別子です。ユーザーに固有の ID を割り当てない場合、Braze は代わりに匿名 ID を割り当てますが、割り当てるまでこれらの機能を使用することはできません。
リストされていないラッパーSDK の場合は、代わりに関連するネイティブ Android または Swift メソッドを使用してください。
匿名ユーザーについて
Braze SDKを統合した後、アプリを初めて起動したユーザーは、changeUser メソッドを呼び出してexternal_id を割り当てるまで、「匿名」とみなされる。一度割り当てられると、再び匿名にすることはできない。しかし、アプリをアンインストールして再インストールすると、changeUser が呼び出されるまで、再び匿名になる。
以前に識別されたユーザーが新しいデバイスでセッションを開始した場合、そのユーザーのexternal_id を使用してそのデバイスでchangeUser を呼び出すと、すべての匿名アクティビティが自動的に既存のプロファイルに同期される。これには、新しいデバイスでのセッション中に収集された属性、イベント、または履歴が含まれる。
匿名ユーザーのトラッキングを防止する
ユーザーが識別される前にデータを収集しないユースケースの場合、ユーザーがログインして external_id が利用可能になるまで Braze SDK の初期化を遅延させることができます。コード内にフラグを設定し、ユーザーがサインインしたときに true に切り替え、そのフラグが設定されている場合にのみ SDK を初期化します。
初期化の遅延は、ユーザーがアプリを初めてダウンロードしたとき(external_id が設定される前)にのみ行ってください。ユーザーがサインアウトしたり新しいセッションを開始したりするたびに SDK の初期化を妨げると、アプリ内メッセージやコンテンツカードアセットのプリフェッチに干渉し、それらのキャンペーンの配信エラーにつながる可能性があります。
ユーザーIDの設定
ユーザーIDを設定するには、ユーザーが最初にログインした後に changeUser() メソッドを呼び出します。ID は一意であり、命名のベストプラクティスに従っている必要があります。
代わりに一意な識別子をハッシュする場合は、ハッシュ関数の入力を正規化してください。たとえば、メールアドレスをハッシュする場合は、先頭または末尾のスペースを削除し、ローカライゼーションを考慮します。
標準の Web SDK 実装では、以下の方法を使用できます。
1
braze.changeUser(YOUR_USER_ID_STRING);
代わりに Google Tag Manager を使いたい場合は、Change User タグタイプを使って changeUser メソッドを呼び出すことができます。ユーザーがログインするとき、あるいは一意の external_id 識別子で識別されるときは、必ずこれを使用してください。
現在のユーザーの一意の ID をExternal User ID フィールドに入力してください。通常は、Web サイトから送信されたデータレイヤー変数を使用して入力します。

1
Braze.getInstance(context).changeUser(YOUR_USER_ID_STRING);
1
Braze.getInstance(context).changeUser(YOUR_USER_ID_STRING)
1
AppDelegate.braze?.changeUser(userId: "YOUR_USER_ID")
1
[AppDelegate.braze changeUser:@"YOUR_USER_ID_STRING"];
1
BrazePlugin.changeUser("YOUR_USER_ID");
1
m.Braze.setUserId(YOUR_USER_ID_STRING)
1
AppboyBinding.ChangeUser("YOUR_USER_ID_STRING");
1
Braze.changeUser("YOUR_USER_ID_STRING");
changeUser() の仕組み
changeUser() を呼び出すと、以下の動作が適用されます。
- すでに設定されている同じユーザー ID で
changeUser()を呼び出しても、セッション数には影響しません。 - 異なるユーザー ID で
changeUser()を呼び出すと、現在のセッションが自動的に終了し、新しいセッションが開始されます。 - 匿名ユーザーが新しいユーザー ID(Braze にまだ存在しないもの)で
changeUser()を呼び出すと、匿名プロファイルのデータが新しい識別済みプロファイルにマージされます。 - 匿名ユーザーが既存のユーザー ID で
changeUser()を呼び出すと、匿名プロファイルのデータは識別済みプロファイルにマージされません。
changeUser() を呼び出すと、現在のユーザーのセッションを閉じる過程でデータフラッシュがトリガーされます。SDK は新しいユーザーに切り替える前に、前のユーザーの保留中のデータを自動的にフラッシュするため、changeUser() を呼び出す前に手動でデータフラッシュをリクエストする必要はありません。
単一の共有ユーザー ID(たとえば、静的なデフォルトの external ID)を割り当てたり、ユーザーがログアウトしたときに changeUser() を呼び出したりしないでください。そうすると、共有デバイスで以前ログインしたユーザーに再度エンゲージすることができなくなり、すべてのデータが単一のユーザー ID に対して記録されるため、他の機能が期待どおりに動作しなくなる可能性があります。代わりに、すべてのユーザー ID を個別に管理し、アプリのログアウトプロセスで以前にログインしたユーザーに切り替えられるようにしてください。新しいセッションが始まると、Braze は新しくアクティブになったプロファイルのデータを自動的に更新します。
ユーザーエイリアス
仕組み
匿名ユーザーはexternal_ids 、代わりにユーザーエイリアスを割り当てることができる。ユーザーエイリアスを割り当てる必要があるのは、ユーザーに他の識別子を追加したいが、そのユーザーのexternal_id がわからない場合である(たとえば、ログインしていない)。ユーザーエイリアスを使えば、こんなこともできる:
- Braze APIを使用して、匿名ユーザーに関連するイベントと属性を記録する。
- 外部ユーザーIDが空白のセグメンテーションフィルターを使用して、匿名ユーザーをメッセージングのターゲットにする。
ユーザーエイリアスの設定
ユーザーエイリアスは、名前とラベルの 2 つの部分で構成されます。名前は識別子そのものを指し、ラベルはその識別子が属するタイプを指します。たとえば、サードパーティのカスタマーサポートプラットフォームに external ID 987654 を持つユーザーがいる場合、Braze でそのユーザーに 987654 という名前と support_id というラベルのエイリアスを割り当てることで、プラットフォーム間でそのユーザーを追跡できます。
1
braze.getUser().addAlias(ALIAS_NAME, ALIAS_LABEL);
1
Braze.getInstance(context).getCurrentUser().addAlias(ALIAS_NAME, ALIAS_LABEL);
1
Braze.getInstance(context).currentUser?.addAlias(ALIAS_NAME, ALIAS_LABEL)
1
Appboy.sharedInstance()?.user.addAlias(ALIAS_NAME, ALIAS_LABEL)
1
[[Appboy sharedInstance].user addAlias:ALIAS_NAME withLabel:ALIAS_LABEL];
1
2
3
4
{
"alias_name" : (required, string),
"alias_label" : (required, string)
}
1
Braze.addAlias("ALIAS_NAME", "ALIAS_LABEL");
ID 命名のベストプラクティス
ユーザー ID は、Universally Unique Identifier (UUID) 標準を使用して作成することをおすすめします。UUID は、ランダムで適切に分散された 128 ビットの文字列です。
あるいは、既存の一意識別子(名前やメールアドレスなど)をハッシュ化してユーザー ID を生成することもできます。その場合は、必ず SDK 認証を実装し、ユーザーのなりすましを防いでください。
ユーザー ID には推測されやすい値や連番を使用しないでください。これにより、組織が悪意のある攻撃やデータ漏洩にさらされる可能性があります。
セキュリティを強化するには、SDK 認証を使用してください。
最初からユーザー ID に正しい名前をつけることが重要ですが、将来的にはいつでも /users/external_ids/rename エンドポイントを使って変更できます。
| 推奨されない ID の種類 | 推奨されない例 |
|---|---|
| ユーザーが閲覧可能なプロファイル ID またはユーザー名 | JonDoe829525552 |
| メールアドレス | [email protected] |
| 自動増分するユーザー ID | 123 |
ユーザー ID の作成方法に関する詳細を共有することは避けてください。これにより、組織が悪意のある攻撃やデータ漏洩にさらされる可能性があります。
GitHub でこのページを編集