プッシュ登録
この記事では、ユーザーがプッシュトークンを割り当てられるまでのプロセスと、Brazeがユーザーにプッシュメッセージを送信する方法について説明する。
プッシュトークンについて
アプリがデバイスにプッシュ権限を要求すると、デバイスのプッシュ・サービス・プロバイダがそのアプリのプッシュトークンを生成する。各アプリには独自の匿名プッシュトークンが与えられ、プッシュ通知を送信する際にデバイスと現在のアプリインスタンスを識別する。
プッシュトークンは永遠に続く静的な識別子ではなく、更新され、期限切れになる可能性があることを覚えておいてほしい。
プラットフォーム固有の詳細については、プッシュトークン登録を参照のこと。
フォアグラウンドとバックグラウンドの違い
プッシュトークンは、フォアグラウンドとバックグラウンドの両方のプッシュ通知を送信するために使用される。
タイプ | オプトインが必要か? | 説明 |
---|---|---|
フォアグラウンド・プッシュ | はい | アプリがフォアグラウンドにある間、ユーザーには通知が目に見える形で表示される。 |
バックグラウンド | いいえ | 通知は表示されることなくバックグラウンドで静かに配信される。アンインストール追跡などの機能に使われることが多い。 |
ユーザーがアプリのプッシュ通知をオプトインすると、そのユーザーは「プッシュ登録済み」とみなされ、BrazeのPush enabled for App
セグメンテーションフィルターを使ってターゲティングできるようになる。
これは、Push Enabled
セグメンテーションフィルターとは異なるもので、特定のアプリではなく、少なくとも1つのアプリにオプトインしているユーザーを識別するために使用される。詳しくは、セグメンテーションフィルターを参照のこと。
デバイスに複数のユーザー
プッシュトークンはデバイスとアプリの両方に固有であるため、複数のユーザーが同じデバイスを使用している場合、プッシュトークンを使用して特定のユーザーをターゲットにすることはできない。
例えば、2人のユーザーがいるとする:Charlie と Kim です。Charlie が自分の携帯電話でアプリのプッシュ通知を有効にしている場合、Kim が Charlie の携帯電話を使用して Charlie のプロファイルからログアウトし、自分のプロファイルにログインすると、プッシュトークンは Kim のプロファイルに割り当てし直されます。プッシュトークンは、Kim がログアウトして、Charlie が再度ログインするまで、そのデバイスの Kim のプロファイルに割り当てられたままになります。
アプリや Web サイトは、1 つのデバイスにつき 1 つのプッシュ通知サブスクリプションのみを持つことができます。そのため、ユーザーがデバイスやウェブサイトからログアウトし、新しいユーザーがログインすると、プッシュトークンは新しいユーザーに再割り当てされる。これは、EngagementタブのContact Settingsセクションにあるユーザーのプロフィールに反映される:
プッシュ・プロバイダ(APN/FCM)には、1つのデバイス上の複数のユーザーを区別する方法がないため、最後にログインしたユーザーにプッシュ・トークンを渡し、デバイス上のどのユーザーをプッシュのターゲットにするかを決定する。
プッシュトークン登録
プッシュトークンの登録は、プラットフォームによって扱いが異なる。プラットフォーム別の詳細については、以下を参照のこと:
アプリがインストールされると、アプリ用のプッシュトークンが自動的に生成されるが、ユーザーが明示的にオプトインするまで、プッシュトークンはバックグラウンドのプッシュ通知にしか使用できない。さらに、登録はAndroidのバージョンによって扱いが異なる:
バージョン | 詳細 |
---|---|
Android 13 | プッシュの権限は、ユーザーに要求し、許可されなければならない。アプリは手動で権限を要求することができ、ユーザーは通知チャネルが作成された後に自動的にプロンプトを表示される。 |
Android 12以前 | すべてのユーザーは、最初のセッションを終えた時点でSubscribed 。Brazeはこの時点で自動的にプッシュトークンを要求し、有効なトークンとデフォルトのサブスクリプション状態(Subscribed )でユーザーをプッシュイネーブルメントにする。 |
iOSはアプリをインストールしても、自動的にプッシュトークンを生成しない。さらに、iOSのバージョンによって登録の仕方が異なる:
バージョン | 仮承認? | 詳細 |
---|---|---|
iOS 12 | はい | ユーザーがプッシュ通知をオプトインすると、標準的な認証が与えられ、フォアグラウンド・プッシュ通知を送信できるようになる。しかし、仮承認をリクエストすることで、サイレントバックグラウンドのプッシュ通知を通知センターに直接送信することもできる。 |
iOS 11以降 | いいえ | すべてのユーザーは、プッシュ通知の受信を明示的にオプトインしなければなりません。プッシュトークンは、権限が付与された後にのみ生成される。 |
ネイティブブラウザーの許可ダイアログを通じて、ユーザーから明示的なオプトインを要求する必要があります。ユーザーがオプトインした後にトークンを受け取ります。iOS や Android の場合、アプリからいつでも許可プロンプトを表示できますが、最近のブラウザーの中には、「ユーザーのジェスチャー」(マウスクリックやキーストローク) でトリガーされたときにのみプロンプトを表示するものもあります。御社サイトでページの読み込み時にプッシュ通知の許可を要求しようとした場合、おそらくブラウザーによって無視されるか、表示されない可能性があります。
ユーザーのプッシュサブスクリプションの状態をチェックする
Brazeでユーザーのプッシュサブスクリプションの状態を確認する方法は2つある:
- ユーザープロフィールBrazeダッシュボードのユーザー検索ページから、個々のユーザープロファイルにアクセスできる。Eメールアドレス、電話番号、または外部ユーザーIDを介して)ユーザーのプロフィールを見つけた後、Engagementタブを選択してユーザーの購読状態を表示し、手動で調整することができる。
- Rest API でのエクスポート:ExportUsers by segmentまたはUsers by identifierエンドポイントを使用して、個々のユーザープロファイルを JSON 形式でエクスポートすることができる。Brazeは、デバイスごとのプッシュ有効化情報を含むプッシュトークンオブジェクトを返す。
プッシュ登録状況を確認する
ユーザープロファイルの [エンゲージメント] タブに、[登録済みのプッシュ通知] とアプリ名が表示されます。そのデバイスにアプリ情報が存在しない場合は、2 つのダッシュ (–) が表示されます。ユーザーに属するすべてのデバイスにエントリが存在します。
デバイスエントリのアプリ名の前に Foreground:
が付いている場合、アプリはそのデバイスでフォアグラウンドプッシュ通知 (ユーザーに表示されます) と、バックグラウンドプッシュ通知 (ユーザーに表示されません) の両方を受け取るよう承認されています。
プッシュトークンの例を含むプッシュ・チャンゲログ。{: style=”float:right;max-width:40%;margin-left:15px;margin-top:10px;”}
一方、デバイスエントリのアプリ名に Background:
という接頭辞が付いている場合、アプリはバックグラウンドプッシュを受信する権限のみが付与され、ユーザーに表示可能な通知をそのデバイスでは表示できません。これは通常、ユーザーがそのデバイスでアプリの通知を無効にしていることを示します。
プッシュトークンを同じデバイスの別のユーザーに移動すると、最初のユーザーはプッシュ登録されなくなる。
プッシュトークンの管理
プッシュトークンの変更またはユーザープロファイルからの削除につながるアクションについては、以下のチャートをチェックしてほしい。
アクション (Action) | 説明 |
---|---|
changeUser() メソッドが呼び出される |
BrazechangeUser() メソッドは、SDKがユーザー行動データを割り当てるユーザーIDを切り替える。このメソッドは通常、ユーザーがアプリケーションにログインするときに呼び出される。changeUser() 、特定のデバイスで異なるユーザーIDまたは新しいユーザーIDで呼び出されると、そのデバイスのプッシュトークンは、対応するユーザーIDを持つ適切なBrazeプロファイルに移動する。 |
プッシュエラー発生 | トークンの削除につながる一般的なプッシュエラーには、MismatchSenderId 、InvalidRegistration 、およびその他のタイプのプッシュバウンスがあります。よくあるプッシュエラーのリストをご覧いただきたい。 |
ユーザーがアンインストールする | ユーザーがデバイスからアプリケーションをアンインストールすると、Brazeはユーザーのプッシュトークンをプロファイルから削除する。 |
これはより広いスケールで見るとどうなるのだろうか?
ユーザーが新しいアプリケーションを開き、プッシュプロンプトからプッシュアクセスを許可すると、Braze SDKからプッシュプロバイダーへの呼び出しが行われる。この呼び出しが行われると、プッシュプロバイダーはすべてが正しく設定されているかどうかのチェックを実行します。もしそうなら、プッシュトークンがあなたのデバイスに渡される。トークンが到着すると、SDKはこれをBrazeに伝える。Brazeがプッシュプロバイダからトークンを受け取った後、ユーザープロファイルを更新または新規作成する。これらのユーザーは登録済みとみなされる。
キャンペーンを開始する場合は、プッシュプロバイダーに送信するプッシュペイロードを生成するキャンペーンを Braze で作成します。そこから、プロバイダーはユーザーのデバイスにプッシュペイロードを配信し、SDKはメッセージング状態をBrazeに渡す。
登録ステップ | メッセージングステップ |
---|---|
1.顧客 (デバイス) がプッシュプロバイダーに登録する 2.プロバイダーがプッシュトークンを生成し、配信する 3.Brazeのフラッシュ・トークン |
1.Brazeはプッシュペイロードをプロバイダーに送る 2.プロバイダーはプッシュペイロードをデバイスに配信する。 3.SDKはメッセージング統計情報をBrazeに渡す |
よくある質問
オプトインしたユーザーがアプリを削除し、再ダウンロードした場合はどうなるのか?
あるユーザーがプッシュを選択し、プッシュメッセージを受け取った後、アプリを削除したとします。すると、デバイスレベルでプッシュ同意が削除される。ここから、アンインストール後の最初のバウンスプッシュによって、そのユーザーは将来のプッシュメッセージからオプトアウトされます。この後、ユーザーがアプリを再インストールし、起動しなかった場合、アプリにプッシュトークンが再付与されないため、Braze はユーザーにプッシュを送信できません。
さらに、ユーザーがフォアグラウンドプッシュを再び有効にする場合、プッシュメッセージの受信を開始するには、セッションを開始してユーザープロファイル内のこの情報を更新する必要があります。
プッシュトークンの有効期限は?
残念ながら、APN と FCM はこれを定義していません。プッシュトークンは、アプリがアップデートされた時、ユーザーが新しいデバイスにデータを移した時、OSを再インストールした時などに失効することがある。ほとんどの場合、プッシュプロバイダーが特定のプッシュトークンを期限切れにする理由について有用なインサイトはありません。
この曖昧さを考慮し、SDKプッシュ統合は常にセッション開始時にトークンを登録し、フラッシュすることで、最新のトークンを確保している。