プッシュトークンのライフサイクル
この記事では、ユーザーにプッシュトークンが割り当てられるプロセスと、Brazeがユーザーにプッシュメッセージを送信する仕組みについて説明します。
プッシュトークンについて
アプリがデバイスにプッシュ権限をリクエストすると、デバイスのプッシュサービスプロバイダーがそのアプリ用のプッシュトークンを生成します。各アプリには固有の匿名プッシュトークンが付与され、プッシュ通知を送信する際にデバイスと現在のアプリインスタンスを識別するために使用されます。
プッシュトークンは永続的な静的識別子ではないことに注意してください。更新されることもあれば、有効期限が切れることもあります。
プラットフォーム固有の詳細については、プッシュトークンの登録を参照してください。
フォアグラウンドプッシュとバックグラウンドプッシュ
プッシュトークンは、フォアグラウンドプッシュ通知とバックグラウンドプッシュ通知の両方の送信に使用されます。
| タイプ | オプトインが必要? | 説明 |
|---|---|---|
| フォアグラウンドプッシュ | はい | アプリがフォアグラウンドにある間、ユーザーに通知が視覚的に表示されます。 |
| バックグラウンドプッシュ | いいえ | 通知は表示されずにバックグラウンドでサイレントに配信されます。アンインストール追跡などの機能によく使用されます。 |
ユーザーがアプリのプッシュ通知にオプトインすると、「プッシュ登録済み」とみなされ、BrazeのForeground Push Enabled for Appセグメンテーションフィルターを使用してターゲティングできるようになります。
これはForeground Push Enabledセグメンテーションフィルターとは異なります。このフィルターは、特定のアプリではなく、少なくとも1つのアプリでプッシュにオプトインしたユーザーを識別するために使用されます。詳細については、セグメンテーションフィルターを参照してください。
1つのデバイスに複数のユーザー
プッシュトークンはデバイスとアプリの両方に固有であるため、複数のユーザーが同じデバイスを使用している場合、プッシュトークンを使用して特定のユーザーをターゲティングすることはできません。
たとえば、CharlieとKimという2人のユーザーがいるとします。Charlieが自分のスマートフォンでアプリのプッシュ通知を有効にし、KimがCharlieのスマートフォンを使ってCharlieのプロファイルからログアウトし、自分のプロファイルにログインした場合、プッシュトークンはKimのプロファイルに再割り当てされます。その後、Kimがログアウトし、Charlieが再度ログインするまで、プッシュトークンはそのデバイス上でKimのプロファイルに割り当てられたままになります。
アプリまたはWebサイトは、デバイスごとに1つのプッシュサブスクリプションしか持てません。そのため、ユーザーがデバイスまたはWebサイトからログアウトし、新しいユーザーがログインすると、プッシュトークンは新しいユーザーに再割り当てされます。これは、ユーザープロファイルのエンゲージメントタブの連絡先設定セクションに反映されます。

プッシュプロバイダー(APNs/FCM)には1つのデバイス上の複数のユーザーを区別する方法がないため、最後にログインしたユーザーにプッシュトークンを渡し、デバイス上でプッシュのターゲットとなるユーザーを決定します。
連絡先設定 > プッシュ変更ログにエラーメッセージが表示された場合は、一般的なプッシュエラーメッセージで説明と次のステップを確認してください。
プッシュトークンの登録
各デバイスプラットフォームは、プッシュトークンの登録を異なる方法で処理します。プラットフォーム固有の詳細については、以下を参照してください。
ネイティブブラウザの権限ダイアログを通じて、ユーザーから明示的なオプトインをリクエストする必要があります。ユーザーがオプトインした後にトークンを受け取ります。iOSやAndroidではアプリがいつでも権限プロンプトを表示できますが、一部のモダンブラウザでは「ユーザージェスチャー」(マウスクリックまたはキーストローク)によってトリガーされた場合にのみプロンプトが表示されます。サイトがページ読み込み時にプッシュ通知の権限をリクエストしようとすると、ブラウザによって無視またはサイレント処理される可能性があります。
アプリがインストールされると、アプリ用のプッシュトークンが自動的に生成されます。ただし、ユーザーが明示的にオプトインするまでは、バックグラウンドプッシュ通知にのみ使用できます。また、登録はAndroidのバージョンによって異なる方法で処理されます。
| バージョン | 詳細 |
|---|---|
| Android 13 | プッシュ権限はユーザーによってリクエストおよび許可される必要があります。アプリは手動で権限をリクエストできます。また、通知チャネルが作成された後に自動的にプロンプトが表示されます。 |
| Android 12以前 | すべてのユーザーは最初のセッション後にSubscribedとみなされます。Brazeはこの時点でプッシュトークンを自動的にリクエストし、有効なトークンとデフォルトのサブスクリプション状態Subscribedでユーザーのプッシュを有効にします。 |
iOSでは、アプリがインストールされた際にプッシュトークンが自動的に生成されることはありません。また、登録はiOSのバージョンによって異なる方法で処理されます。
| バージョン | 仮承認? | 詳細 |
|---|---|---|
| iOS 12 | はい | ユーザーがプッシュ通知にオプトインすると、標準の承認が付与され、フォアグラウンドプッシュ通知を送信できるようになります。ただし、仮承認をリクエストすることもでき、通知センターに直接サイレントなバックグラウンドプッシュ通知を送信できます。 |
| iOS 11以前 | いいえ | すべてのユーザーはプッシュ通知を受信するために明示的にオプトインする必要があります。プッシュトークンは権限が付与された後にのみ生成されます。 |
ユーザーのプッシュサブスクリプション状態の確認

Brazeでユーザーのプッシュサブスクリプション状態を確認するには、2つの方法があります。
- ユーザープロファイル: Brazeダッシュボードのユーザー検索ページから個々のユーザープロファイルにアクセスできます。ユーザーのプロファイルを見つけたら(メールアドレス、電話番号、または外部ユーザーIDで検索)、エンゲージメントタブを選択して、ユーザーのサブスクリプション状態を確認および手動で調整できます。
- REST APIエクスポート: エクスポートのSegmentごとのユーザーまたは識別子ごとのユーザーエンドポイントを使用して、個々のユーザープロファイルをJSON形式でエクスポートできます。Brazeは、デバイスごとのプッシュ有効化情報を含むプッシュトークンオブジェクトを返します。
プッシュ登録ステータスの確認
ユーザープロファイルのエンゲージメントタブに、プッシュ登録先の後にアプリ名が表示されます。そのデバイスのアプリ情報が存在しない場合は、2つのダッシュ(--)が表示されます。ユーザーに属するすべてのデバイスについてエントリが表示されます。
デバイスエントリのアプリ名にForeground:というプレフィックスが付いている場合、そのアプリはそのデバイスでフォアグラウンドプッシュ通知(ユーザーに表示される)とバックグラウンドプッシュ通知(ユーザーに表示されない)の両方を受信する権限があります。

一方、デバイスエントリのアプリ名にBackground:というプレフィックスが付いている場合、そのアプリはバックグラウンドプッシュのみを受信する権限があり、そのデバイスでユーザーに表示される通知を表示できません。これは通常、ユーザーがそのデバイスでアプリの通知を無効にしたことを示します。
プッシュトークンが同じデバイス上の別のユーザーに移動された場合、最初のユーザーはプッシュ登録済みではなくなります。
プッシュトークンの管理
プッシュトークンの変更やユーザープロファイルからの削除につながるアクションについては、以下の表を確認してください。
| アクション | 説明 |
|---|---|
changeUser()メソッドの呼び出し |
BrazeのchangeUser()メソッドは、SDKがユーザー行動データを割り当てるユーザーIDを切り替えます。このメソッドは通常、ユーザーがアプリケーションにログインしたときに呼び出されます。特定のデバイスで異なるまたは新しいユーザーIDでchangeUser()が呼び出されると、そのデバイスのプッシュトークンは対応するユーザーIDを持つ適切なBrazeプロファイルに移動されます。 |
| プッシュエラーの発生 | トークンの削除につながる一般的なプッシュエラーには、MismatchSenderId、InvalidRegistration、およびその他のタイプのプッシュバウンスがあります。一般的なプッシュエラーの完全なリストを確認してください。 |
| ユーザーのアンインストール | ユーザーがデバイスからアプリケーションをアンインストールすると、Brazeはそのユーザーのプッシュトークンをプロファイルから削除します。 |
より広い視点で見ると
ユーザーが新しいアプリケーションを開き、プッシュプロンプトからプッシュアクセスを許可すると、Braze SDKからプッシュプロバイダーへの呼び出しが行われます。この呼び出しが行われると、プッシュプロバイダーはすべてが正しく設定されているかチェックを実行します。正しく設定されている場合、プッシュトークンがデバイスに渡されます。トークンが届くと、SDKはこれをBrazeに通知します。Brazeがプッシュプロバイダーからトークンを受信した後、ユーザープロファイルを更新または新規作成します。これらのユーザーは登録済みとみなされます。
Campaignを起動する場合、Brazeでプッシュプロバイダーに送信するプッシュペイロードを生成するCampaignを作成します。そこからプロバイダーがプッシュペイロードをユーザーのデバイスに配信し、SDKがメッセージングの状態をBrazeに渡します。

| 登録ステップ | メッセージングステップ |
|---|---|
| 1. 顧客(デバイス)がプッシュプロバイダーに登録 2. プロバイダーがプッシュトークンを生成して配信 3. トークンをBrazeにフラッシュ |
1. Brazeがプッシュペイロードをプロバイダーに送信 2. プロバイダーがプッシュペイロードをデバイスに配信 3. SDKがメッセージング統計をBrazeに渡す |
よくある質問
オプトインしたユーザーがアプリを削除してから再ダウンロードした場合はどうなりますか?
ユーザーがプッシュにオプトインし、いくつかのプッシュメッセージを受信した後、アプリを削除したとします。これにより、デバイスレベルでプッシュの同意が削除されます。ここから、アンインストール後の最初のバウンスしたプッシュにより、そのユーザーは自動的に今後のプッシュメッセージからオプトアウトされます。その後、ユーザーがアプリを再インストールしても起動しなかった場合、プッシュトークンがアプリに対して再付与されていないため、Brazeはそのユーザーにプッシュを送信できません。
さらに、ユーザーがフォアグラウンドプッシュを再度有効にした場合、プッシュメッセージの受信を開始するには、ユーザープロファイルでこの情報を更新するためにセッションの開始が必要です。
プッシュトークンはいつ有効期限が切れますか?
残念ながら、APNsとFCMはこれを明確に定義していません。プッシュトークンは、アプリが更新されたとき、ユーザーがデータを新しいデバイスに転送したとき、またはオペレーティングシステムを再インストールしたときに有効期限が切れる可能性があります。ほとんどの場合、プッシュプロバイダーが特定のプッシュトークンを期限切れにする理由について、明確なインサイトはありません。
このあいまいさに対応するため、SDKのプッシュ統合ではセッション開始時に常にトークンを登録してフラッシュし、最新のトークンを確保しています。