Skip to content

ユーザー IDを設定する

Braze SDKでユーザー IDを設定する方法について説明します。これは、デバイスやプラットフォームを超えてユーザーを追跡し、ユーザーデータAPIを通じてユーザーデータをインポートし、メッセージングAPIを通じてターゲットメッセージを送信するための一意の識別子です。ユーザーに固有のIDを割り当てない場合、Brazeは代わりに匿名IDを割り当てますが、割り当てるまでこれらの機能を使用することはできません。

匿名ユーザーについて

Braze SDKを統合した後、アプリを初めて起動したユーザーは、changeUser メソッドを呼び出して external_id を割り当てるまで「匿名」とみなされます。一度割り当てると、再び匿名にすることはできません。ただし、アプリをアンインストールして再インストールした場合は、changeUser が呼び出されるまで再び匿名になります。

以前に識別されたユーザーが新しいデバイスでセッションを開始した場合、そのデバイスでそのユーザーの external_id を使用して changeUser を呼び出すと、Brazeは匿名プロファイルの特定のフィールドのうち、識別済みプロファイルにまだ存在しないものをマージします。すべてのデータが転送されるわけではなく、識別済みプロファイルにまだ設定されていないフィールドのみがマージされます。転送されるフィールドの完全なリストについては、マージの動作を参照してください。

匿名ユーザートラッキングの防止

ユーザーが識別される前にデータを収集しないユースケースの場合、ユーザーがログインしてexternal_idが利用可能になるまで、Braze SDKの初期化を遅延させることができます。コード内にフラグを設定し、ユーザーがサインインしたときにtrueに切り替え、そのフラグが設定されている場合にのみSDKを初期化します。

ユーザー IDを設定する

ユーザー IDを設定するには、ユーザーが最初にログインした後に changeUser() メソッドを呼び出します。IDは一意である必要があり、命名のベストプラクティスに従う必要があります。

一意の識別子をハッシュ化する場合は、ハッシュ関数への入力を正規化していることを確認してください。例えば、メールアドレスをハッシュ化する場合は、先頭と末尾の空白を取り除き、ローカライゼーションを考慮してください。

標準的なWeb SDKの実装では、次のメソッドを使用できます。

1
braze.changeUser(YOUR_USER_ID_STRING);

代わりにGoogle Tag マネージャーを使用する場合は、Change User タグタイプを使用して changeUser メソッドを呼び出すことができます。ユーザーがログインするか、一意の external_id 識別子で識別されるたびに使用してください。

現在のユーザーの一意のIDを External User ID フィールドに入力してください。通常、Webサイトから送信されるデータレイヤー変数によって設定されます。

Brazeアクションタグの設定を示すダイアログボックス。設定には「tag type」と「external user ID」が含まれています。

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() を呼び出すと、匿名プロファイルのデータは識別済みプロファイルに統合されません。

ユーザーエイリアス

仕組み

匿名ユーザーは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に正しい名前をつけることが重要ですが、将来的にはいつでも/users/external_ids/renameエンドポイントを使って変更できます。

推奨されないIDの種類 推奨されない例
ユーザーが閲覧可能なプロファイルIDまたはユーザー名 JonDoe829525552
メールアドレス [email protected]
自動増分するユーザー ID 123
New Stuff!