ユーザー ID の設定
このリファレンス記事では、Android または FireOS アプリでユーザー ID を設定する方法、推奨されるユーザー ID 命名規則、およびいくつかのベストプラクティスを説明します。
ユーザーIDは、各ユーザーに設定する必要があります。これらは変更されず、ユーザーがアプリを開いたときにアクセスできるようにする必要があります。ユーザーIDに最初から正しい名前を付けることは、ユーザーIDを設定する際の最も重要なステップの一つである。Braze標準のUUIDとGUIDを使うことを強く推奨する(詳細は後述)。また、この識別子を提供することを強く推奨する:
- デバイスやプラットフォームを超えてユーザーを追跡し、行動データや人口統計データの質を向上させます。
- ユーザーデータAPIを使用してユーザーデータをインポートする。
- 当社のメッセージングAPIを使用して、一般的なメッセージとトランザクションメッセージの両方で特定のユーザーをターゲットにする。
そのような識別子が利用できない場合、Brazeはユーザーに一意の識別子を割り当てますが、ユーザーIDに対してリストされている機能が欠けています。個人として紐づけられた固有の識別子を持たないユーザーに対して、ユーザーIDの設定を避けるべきです。デバイス識別子を渡すことは、Brazeがデフォルトで提供する自動匿名ユーザートラッキングに対して何の利益も提供しません。
ユーザーIDとして識別可能な値を含めたい場合は、さらなるセキュリティのため、ユーザーの偽装やなりすましを防ぐSDK認証機能を追加することを強く推奨する。
推奨されるユーザー ID の命名規則
Brazeでは、ユーザーID(外部IDとも呼ばれる)をUUIDやGUID形式で命名することを強く推奨している。UUIDとGUIDは、コンピューターシステム内の情報を識別するために使用される128ビットの番号からなる普遍的にユニークな識別子である。これは、これらのUUIDが長く、ランダムで、よく分散していることを意味する。ユーザーIDの名前を別の方法にする場合も、長くてランダムで、分散されていなければならない。また、ユーザーIDは大文字と小文字を区別することも重要である。例えば、”Abcdef “は “abcdef “とは別のユーザーである。
ユーザーIDに名前、メール・アドレス、タイムスタンプ、インクリメンターが含まれている場合は、より安全な新しい命名方法を使用し、ユーザーIDの推測や偽装なりすましが簡単にできないようにすることをお勧めする。ユーザーIDにこれを含める場合は、偽装やなりすましを防ぐためにSDK認証機能を追加することを強く推奨する。
この情報を他者に提供することで、ユーザーIDがどのように構成されているか、組織外の人間が情報を得ることができ、悪意のある更新や情報の削除の可能性に組織を開封する可能性がある。最初から正しい命名規則を選択することは、ユーザーIDを設定する上で最も重要なステップの一つである。しかし、外部ID移行エンドポイントを使えば移行は可能だ。
ユーザーIDの命名 | |
---|---|
おすすめ | 推奨しない |
123e4567-e89b-12d3-a456-836199333115 | JonDoe829525552 |
8c0b3728-7fa7-4c68-a32e-12de1d3ed2d5 | [email protected] |
f0a9b506-3c5b-4d86-b16a-94fc4fc3f7b0 | 会社名-1-2-19 |
2d9e96a1-8f15-4eaf-bf7b-eb8c34e25962 | ジョンドゥ-1-2-19 |
ユーザー ID の割り当て
ユーザー ID を設定するため、ユーザが識別された直後 (一般的にはログイン後) に以下の呼び出しを行う必要があります。
1
Braze.getInstance(context).changeUser(YOUR_USER_ID_STRING);
1
Braze.getInstance(context).changeUser(YOUR_USER_ID_STRING)
ユーザーがログアウトするときに changeUser()
を呼び出さないでください。changeUser()
は、ユーザーがアプリケーションにログインするときにのみ呼び出される必要があります。changeUser()
を静的なデフォルト値に設定すると、ユーザーが再度ログインするまで、すべてのユーザーアクティビティがそのデフォルト「ユーザー」に関連付けられます。
また、ユーザーがログアウトするときにユーザー ID を変更しないことをお勧めします。変更すると、以前にログインしたユーザーを再エンゲージメントキャンペーンでターゲットにできなくなるためです。同じデバイスに複数のユーザーが存在することが予想されるものの、アプリがログアウト状態の間にそのうちの1ユーザーのみをターゲットにする場合は、ログアウト中にターゲットにするユーザー ID を個別に追跡し、アプリのログアウトプロセスの中でそのユーザー ID に戻すことをお勧めします。
詳細については、changeUser
のドキュメント を参照してください。
ユーザー ID 統合のベストプラクティスとメモ
匿名ユーザー履歴の自動保存
識別コンテキスト | 保存行動 |
---|---|
ユーザーが過去に識別されていない。 | 匿名の履歴は、本人確認時にユーザープロファイルと統合される。 |
ユーザーがアプリ内またはAPI経由で事前に識別されている | 匿名履歴は、本人確認時にユーザープロファイルと統合されない。 |
匿名ユーザーを識別した場合の詳細については、識別子ユーザープロファイルを参照のこと。
その他の注意事項とベストプラクティス
次のことに注意してほしい:
- アプリを複数のユーザーが使用する場合、各ユーザーに一意の識別子を割り当てて追跡することができる。
- ユーザーIDを設定した後、そのユーザーを匿名プロファイルに戻すことはできない。
- ユーザーがログアウトしたときにユーザーIDを変更しないこと。これは、デバイスとユーザープロファイルを分離する可能性があるためである。
- その結果、ログアウトしたユーザーに再エンゲージメントのメッセージを送ることができなくなる。同じデバイスに複数のユーザーが存在することが予想されるものの、アプリがログアウト状態の間にそのうちの1ユーザーのみをターゲットにする場合は、ログアウト中にターゲットにするユーザー ID を個別に追跡し、アプリのログアウトプロセスの中でそのユーザー ID に戻すことをお勧めします。デフォルトでは、最後にログインしたユーザーのみがアプリからのプッシュ通知を受け取る。
- あるユーザーから別のユーザーに切り替えるのは、比較的コストのかかる作業だ。
- ユーザー切り替えを要求すると、前のユーザーの現在のセッションは自動的に閉じられ、新しいセッションが開始される。Brazeは、新しいユーザーに対して、アプリ内メッセージやその他のBrazeリソースのデータ更新要求を自動的に行う。
ユーザーIDとして一意な識別子のハッシュを使用する場合は、ハッシュ関数への入力を正規化していることを確認すること。例えば、メールアドレスのハッシュを使う場合は、入力から先頭と末尾の空白を取り除き、ローカライゼーションを考慮していることを確認する。
ユーザーのエイリアシング
ユーザーエイリアスは、代替の一意なユーザー識別子として機能する。エイリアスを使用して、コアユーザーIDとは異なる次元でユーザーを識別することができる:
- ユーザーがモバイルアプリやWebサイトにログインする前と後の両方をフォローする分析用の一貫した識別子を設定する。
- サードパーティーベンダーが使用している識別子を外部ユーザーに追加することで、外部とのユーザーデータの照合をより簡単に行うことができる。
各エイリアスは、識別子そのものの名前と、エイリアスの種類を示すラベルの2つの部分で構成される。ユーザーは異なるラベルで複数のエイリアスを持つことができるが、1つのラベルにつき1つの名前しか持つことができない。
ユーザープロファイルに対するユーザーエイリアスの設定については、ユーザーエイリアスを参照のこと。
1
Braze.getInstance(context).getCurrentUser().addAlias(ALIAS_NAME, ALIAS_LABEL);
1
Braze.getInstance(context).currentUser?.addAlias(ALIAS_NAME, ALIAS_LABEL)