Skip to content

プッシュトークンのライフサイクル

この記事では、ユーザーにプッシュトークンが割り当てられるプロセスと、Brazeがユーザーにプッシュメッセージを送信する仕組みについて説明します。

プッシュトークンについて

アプリがデバイスにプッシュ権限をリクエストすると、デバイスのプッシュサービスプロバイダーがそのアプリ用のプッシュトークンを生成します。各アプリには固有の匿名プッシュトークンが付与され、プッシュ通知を送信する際にデバイスと現在のアプリインスタンスを識別するために使用されます。

プッシュトークンは永続的な静的識別子ではないことに注意してください。更新されることもあれば、有効期限が切れることもあります。

フォアグラウンドプッシュとバックグラウンドプッシュ

プッシュトークンは、フォアグラウンドプッシュ通知とバックグラウンドプッシュ通知の両方の送信に使用されます。

ユーザーがアプリのプッシュ通知にオプトインすると、「プッシュ登録済み」とみなされ、BrazeのForeground Push Enabled for Appセグメンテーションフィルターを使用してターゲティングできるようになります。

1つのデバイスに複数のユーザー

プッシュトークンはデバイスとアプリの両方に固有であるため、複数のユーザーが同じデバイスを使用している場合、プッシュトークンを使用して特定のユーザーをターゲティングすることはできません。

たとえば、CharlieとKimという2人のユーザーがいるとします。Charlieが自分のスマートフォンでアプリのプッシュ通知を有効にし、KimがCharlieのスマートフォンを使ってCharlieのプロファイルからログアウトし、自分のプロファイルにログインした場合、プッシュトークンはKimのプロファイルに再割り当てされます。その後、Kimがログアウトし、Charlieが再度ログインするまで、プッシュトークンはそのデバイス上でKimのプロファイルに割り当てられたままになります。

アプリまたはWebサイトは、デバイスごとに1つのプッシュサブスクリプションしか持てません。そのため、ユーザーがデバイスまたはWebサイトからログアウトし、新しいユーザーがログインすると、プッシュトークンは新しいユーザーに再割り当てされます。これは、ユーザープロファイルのエンゲージメントタブの連絡先設定セクションに反映されます。

ユーザープロファイルの「エンゲージメント」タブにあるプッシュトークン変更ログ。プッシュトークンが別のユーザーに移動された日時とトークンの内容が表示されます。

プッシュプロバイダー(APNs/FCM)には1つのデバイス上の複数のユーザーを区別する方法がないため、最後にログインしたユーザーにプッシュトークンを渡し、デバイス上でプッシュのターゲットとなるユーザーを決定します。

プッシュトークンの登録

各デバイスプラットフォームは、プッシュトークンの登録を異なる方法で処理します。プラットフォーム固有の詳細については、以下を参照してください。

ネイティブブラウザの権限ダイアログを通じて、ユーザーから明示的なオプトインをリクエストする必要があります。ユーザーがオプトインした後にトークンを受け取ります。iOSやAndroidではアプリがいつでも権限プロンプトを表示できますが、一部のモダンブラウザでは「ユーザージェスチャー」(マウスクリックまたはキーストローク)によってトリガーされた場合にのみプロンプトが表示されます。サイトがページ読み込み時にプッシュ通知の権限をリクエストしようとすると、ブラウザによって無視またはサイレント処理される可能性があります。

アプリがインストールされると、アプリ用のプッシュトークンが自動的に生成されます。ただし、ユーザーが明示的にオプトインするまでは、バックグラウンドプッシュ通知にのみ使用できます。また、登録はAndroidのバージョンによって異なる方法で処理されます。

iOSでは、アプリがインストールされた際にプッシュトークンが自動的に生成されることはありません。また、登録はiOSのバージョンによって異なる方法で処理されます。

ユーザーのプッシュサブスクリプション状態の確認

プッシュサブスクリプション状態が「購読中」に設定されたJohn Doeのユーザープロファイル。

Brazeでユーザーのプッシュサブスクリプション状態を確認するには、2つの方法があります。

  • ユーザープロファイル: Brazeダッシュボードのユーザー検索ページから個々のユーザープロファイルにアクセスできます。ユーザーのプロファイルを見つけたら(メールアドレス、電話番号、または外部ユーザーIDで検索)、エンゲージメントタブを選択して、ユーザーのサブスクリプション状態を確認および手動で調整できます。
  • REST APIエクスポート: エクスポートのSegmentごとのユーザーまたは識別子ごとのユーザーエンドポイントを使用して、個々のユーザープロファイルをJSON形式でエクスポートできます。Brazeは、デバイスごとのプッシュ有効化情報を含むプッシュトークンオブジェクトを返します。

プッシュ登録ステータスの確認

ユーザープロファイルのエンゲージメントタブに、プッシュ登録先の後にアプリ名が表示されます。そのデバイスのアプリ情報が存在しない場合は、2つのダッシュ(--)が表示されます。ユーザーに属するすべてのデバイスについてエントリが表示されます。

デバイスエントリのアプリ名にForeground:というプレフィックスが付いている場合、そのアプリはそのデバイスでフォアグラウンドプッシュ通知(ユーザーに表示される)とバックグラウンドプッシュ通知(ユーザーに表示されない)の両方を受信する権限があります。

プッシュトークンの例が表示されたプッシュ変更ログ。

一方、デバイスエントリのアプリ名にBackground:というプレフィックスが付いている場合、そのアプリはバックグラウンドプッシュのみを受信する権限があり、そのデバイスでユーザーに表示される通知を表示できません。これは通常、ユーザーがそのデバイスでアプリの通知を無効にしたことを示します。

プッシュトークンが同じデバイス上の別のユーザーに移動された場合、最初のユーザーはプッシュ登録済みではなくなります。

プッシュトークンの管理

プッシュトークンの変更やユーザープロファイルからの削除につながるアクションについては、以下の表を確認してください。

より広い視点で見ると

ユーザーが新しいアプリケーションを開き、プッシュプロンプトからプッシュアクセスを許可すると、Braze SDKからプッシュプロバイダーへの呼び出しが行われます。この呼び出しが行われると、プッシュプロバイダーはすべてが正しく設定されているかチェックを実行します。正しく設定されている場合、プッシュトークンがデバイスに渡されます。トークンが届くと、SDKはこれをBrazeに通知します。Brazeがプッシュプロバイダーからトークンを受信した後、ユーザープロファイルを更新または新規作成します。これらのユーザーは登録済みとみなされます。

Campaignを起動する場合、Brazeでプッシュプロバイダーに送信するプッシュペイロードを生成するCampaignを作成します。そこからプロバイダーがプッシュペイロードをユーザーのデバイスに配信し、SDKがメッセージングの状態をBrazeに渡します。

Braze、顧客、Apple Push Notification ServiceまたはFirebase Cloud Messagingの間の前述のプッシュプロセスをマッピングしたフローチャート。

よくある質問

オプトインしたユーザーがアプリを削除してから再ダウンロードした場合はどうなりますか?

ユーザーがプッシュにオプトインし、いくつかのプッシュメッセージを受信した後、アプリを削除したとします。これにより、デバイスレベルでプッシュの同意が削除されます。ここから、アンインストール後の最初のバウンスしたプッシュにより、そのユーザーは自動的に今後のプッシュメッセージからオプトアウトされます。その後、ユーザーがアプリを再インストールしても起動しなかった場合、プッシュトークンがアプリに対して再付与されていないため、Brazeはそのユーザーにプッシュを送信できません。

さらに、ユーザーがフォアグラウンドプッシュを再度有効にした場合、プッシュメッセージの受信を開始するには、ユーザープロファイルでこの情報を更新するためにセッションの開始が必要です。

プッシュトークンはいつ有効期限が切れますか?

残念ながら、APNsとFCMはこれを明確に定義していません。プッシュトークンは、アプリが更新されたとき、ユーザーがデータを新しいデバイスに転送したとき、またはオペレーティングシステムを再インストールしたときに有効期限が切れる可能性があります。ほとんどの場合、プッシュプロバイダーが特定のプッシュトークンを期限切れにする理由について、明確なインサイトはありません。

このあいまいさに対応するため、SDKのプッシュ統合ではセッション開始時に常にトークンを登録してフラッシュし、最新のトークンを確保しています。

New Stuff!