プッシュ有効化とプッシュサブスクリプション
このリファレンス記事では、Brazeにおけるプッシュ有効化とプッシュサブスクリプション状態の概念について説明します。iOS、Android、Webにおける動作の基本的な違いも含まれています。
プッシュサブスクリプションの状態
Brazeの「プッシュサブスクリプションの状態」は、プッシュ通知の受信に対するユーザーのグローバルな設定を識別します。サブスクリプションの状態はユーザーベースであるため、個々のアプリに固有のものではありません。サブスクリプションの状態は、プッシュ通知のターゲットにするユーザーを決定する際に役立つフラグとなります。

ユーザーのプッシュサブスクリプションの状態は、ユーザーのすべてのデバイスを含むユーザープロファイル全体に適用されます。
以下のサブスクリプション状態オプションがあります:Subscribed、Opted-In、および Unsubscribed。
デフォルトでは、ユーザーがプッシュ通知でメッセージを受け取るには、プッシュサブスクリプション状態が Subscribed または Opted-In のいずれかであり、かつフォアグラウンドプッシュが有効になっている必要があります。メッセージの作成時に、必要に応じてこの設定をオーバーライドできます。
| オプトイン状態 | 説明 |
|---|---|
Subscribed |
Brazeでユーザープロファイルが作成されたときのデフォルトのプッシュサブスクリプション状態。 |
Opted-In |
ユーザーがプッシュ通知を受け取ることを明示的に希望しました。ユーザーがOSレベルのプッシュプロンプトを承認した場合、Brazeは自動的にそのユーザーのオプトイン状態を Opted-In に変更します。Android 12またはそれ以前のユーザーには適用されません。 |
Unsubscribed |
ユーザーがアプリケーションやブランドが提供するその他の方法で、プッシュ配信を明示的に解除しました。デフォルトでは、BrazeのプッシュCampaignsは、プッシュ通知に対して Subscribed または Opted-in のユーザーのみを対象とします。 |

Brazeがユーザーのプッシュサブスクリプションの状態を自動的に Unsubscribed に変更することはありません。ユーザーのプッシュサブスクリプション状態が Unsubscribed の場合、そのユーザーのセグメンテーションにおける Foreground Push Enabled フィルターは false になることを覚えておいてください。
プッシュ登録と到達可能なユーザー
プッシュサブスクリプションの状態はユーザーの設定を反映しますが、ダッシュボードでプッシュの到達可能としてカウントされるかどうかは、プッシュ登録にも依存します。つまり、プロファイルに有効なフォアグラウンドプッシュトークンが存在する必要があります。Brazeがチャネルレベルのカウントを計算する方法については、Segmentサイズの測定を参照してください。
- プッシュCampaignsとCanvases: プッシュ登録されていないユーザーは、プッシュサブスクリプション状態が
SubscribedまたはOpted-Inであっても、オーディエンス統計のAndroidプッシュ通知またはiOSプッシュ通知の到達可能なユーザーには含まれません。 - その他のチャネル: 同じユーザーでも、対象となる他のチャネル(メールやアプリ内メッセージなど)では到達可能としてカウントされる場合があります。
- Segments: Segmentのメンバーシップはフィルターに従います。プッシュ登録のないユーザーも、フィルターで除外されない限り(例:Foreground Push Enabled)、Segmentに残ります。Segmentの合計メンバーシップは、プッシュ固有の到達可能なユーザー行に表示されるユーザー数の合計よりも多くなる場合があります。
ユーザープロファイルのプッシュサブスクリプション状態が Subscribed であっても、プッシュトークンが割り当てられていない場合があります。そのようなユーザーは、Brazeが有効なトークンを記録するまで、Androidプッシュ通知またはiOSプッシュ通知の到達可能なユーザーにはカウントされません。
フィルターの定義については、セグメンテーションフィルターを参照してください。
プッシュサブスクリプションの状態の更新
ユーザーのプッシュサブスクリプション状態を更新する以下の方法を確認してください。
自動オプトイン(デフォルト)
Brazeはデフォルトで、ユーザーが初めてアプリのプッシュ通知を承認したときに、ユーザーのプッシュサブスクリプション状態を Opted-In に設定します。また、ユーザーがシステム設定でプッシュ権限を無効にした後、再度有効にした場合にも同様の処理を行います。
このデフォルトの動作を無効にするには、Android Studioプロジェクトの braze.xml ファイルに次のプロパティを追加します。
1
<bool name="com_braze_optin_when_push_authorized">false</bool>
Braze Swift SDKバージョン7.5.0以降では、Xcodeプロジェクトの AppDelegate.swift ファイルに optInWhenPushAuthorized の設定を追加することで、この動作を無効にしたり、さらにカスタマイズしたりすることができます。
1
2
3
4
configuration.optInWhenPushAuthorized = false // disables the default behavior
let braze = Braze(configuration: configuration)
AppDelegate.braze = braze
SDKの統合
Web、Android、またはiOSで setPushNotificationSubscriptionType メソッドを使用して、Braze SDKでユーザーのサブスクリプション状態を更新できます。例えば、このメソッドを使って、ユーザーが手動でプッシュ通知を有効または無効にできる設定ページをアプリ内に作成することができます。
REST API
ユーザーのサブスクリプション状態を更新するには、Braze REST APIの/users/track エンドポイントを使用して、ユーザーのpush_subscribe属性を更新します。
プッシュ有効化とプッシュサブスクリプション状態の違い
プッシュ有効化とは、ユーザーが特定のデバイスでOSまたはブラウザレベルの通知受信許可を付与しているかどうかを指します。プッシュサブスクリプション状態は、Brazeレベルの設定であり、プロファイル全体でプッシュを受信するためのユーザーのグローバルな設定を表します。
自動オプトインが有効(デフォルト)の場合、ユーザーがアプリのプッシュ通知を承認するか、システム設定でプッシュ権限を再度有効にすると(例えば、iOS、Android 13以降、およびサポートされているWebブラウザ)、Brazeはユーザーのプッシュサブスクリプション状態を Opted-In に更新します。それ以外の場合、SDKメソッドまたはREST API呼び出しを使用して明示的に変更するまで、ユーザーのプッシュサブスクリプション状態は Subscribed のままです。
Brazeは、ユーザーがOS、ブラウザ、またはアプリレベルで通知をオプトアウトした場合でも、ユーザーのプッシュサブスクリプション状態を自動的に Unsubscribed に変更することはありません。ユーザーのプッシュサブスクリプション状態を更新するには、Brazeで更新する必要があります。例えば、ユーザーがアプリ内のユーザー設定センターからプッシュを無効にした場合、Brazeでプッシュサブスクリプション状態を Unsubscribed に更新してください。Brazeはユーザー設定センターに基づいてユーザープロファイルを自動的に更新しません。サブスクリプション状態をユーザーのアプリ内設定と一致させるには、SDK(iOSまたはAndroid)またはREST APIを使用して適切なメソッドを呼び出してください。
プッシュ有効化とプッシュサブスクリプション状態の違い
プッシュ有効化とは、ユーザーが特定のデバイスでOSまたはブラウザレベルの通知受信許可を付与しているかどうかを指します。プッシュサブスクリプション状態は、Brazeレベルの設定であり、プロファイル全体でプッシュを受信するためのユーザーのグローバルな設定を表します。
自動オプトインが有効(デフォルト)の場合、ユーザーがアプリのプッシュ通知を承認するか、システム設定でプッシュ権限を再度有効にすると(例:iOS、Android 13以降、対応するWebブラウザ)、Brazeはユーザーのプッシュサブスクリプション状態を Opted-In に更新します。それ以外の場合、SDKメソッドまたはREST API呼び出しを使用して明示的に変更するまで、ユーザーのプッシュサブスクリプション状態は Subscribed のままです。
ユーザーがOS、ブラウザ、またはアプリレベルで通知をオプトアウトしても、Brazeがユーザーのプッシュサブスクリプション状態を自動的に Unsubscribed に変更することはありません。ユーザーのプッシュサブスクリプション状態を更新するには、Brazeで更新する必要があります。例えば、ユーザーがアプリ内のユーザー設定センターからプッシュを無効にした場合、Brazeでプッシュサブスクリプション状態を Unsubscribed に更新してください。Brazeはユーザー設定センターに基づいてユーザープロファイルを自動更新しません。サブスクリプション状態をユーザーのアプリ内設定と一致させるには、SDK(iOSまたはAndroid)またはREST APIを使用して適切なメソッドを呼び出してください。
プッシュサブスクリプションの状態の確認

Brazeでは、以下のいずれかの方法でユーザーのプッシュサブスクリプション状態を確認できます。
- ユーザープロファイル: Brazeダッシュボードのユーザー検索ページから、個々のユーザープロファイルにアクセスできます。(メールアドレス、電話番号、または外部ユーザーIDを使用して)ユーザーのプロファイルを見つけた後、Engagementタブを選択してユーザーのサブスクリプション状態を表示し、手動で調整することができます。
- REST APIでのエクスポート: Segmentごとのユーザーまたは識別子ごとのユーザーエンドポイントを使用して、個々のユーザープロファイルをJSON形式でエクスポートできます。Brazeは、デバイスごとのプッシュ有効化情報を含むプッシュトークンオブジェクトを返します。
プッシュ登録とステータスの確認場所
プッシュサブスクリプション状態、登録、有効化は、Brazeの主に3つの場所で確認できます。
- ユーザープロファイル(Engagementタブ)
- セグメンテーション(Segmentビルダー)
- CampaignおよびCanvasの分析(各メッセージの分析ページ)
ユーザープロファイルとプッシュ変更ログ
ユーザーのプロファイル(ユーザーを検索 > ユーザーを選択 > Engagementタブ)では、Contact Settingsにプッシュサブスクリプション状態が表示され、Push Registered For(Brazeがそのプロファイルにフォアグラウンドプッシュを送信するために使用できるアプリとプラットフォーム)、およびトークンの移動、エラー、登録更新に関するPush Changelogが表示されます。Push Registered Forとフォアグラウンドおよびバックグラウンドの認可の読み方については、プッシュ登録ステータスの確認を参照してください。
iOSおよびAndroidでは、デバイスがフォアグラウンドプッシュ認可からバックグラウンドのみに移行した場合(たとえば、ユーザーがシステム設定で通知をオフにし、SDKがその変更を報告した場合)、プッシュ変更ログに「Push token was updated from foreground push enabled to foreground push disabled」などのエントリが含まれることがあります。
新しいSDKデータを期待している場合(たとえば、テストセッションの直後)、値が古く見える場合はユーザープロファイルでRefreshを選択してください。SDKがデータをフラッシュしてからプロファイルに最新のプッシュ登録が反映されるまでに短い遅延が発生する場合があります。
内部グループに追加したユーザーについては、そのグループのInternal Group SettingsでRecord User Events for group membersを選択すると、SDKリクエストがログに表示されます。次に、設定 > Event User Logでイベントユーザーログを開き、ユーザーのSDKリクエストを見つけて、生のペイロードを展開します。デバイスがリモート通知を有効または無効として報告しているかどうかを検証しながら、remote_notification_enabledなどのフィールドを確認できます。
セグメンテーションとプッシュフィルター
Segmentビルダーでは、Foreground Push Enabled、Foreground Push Enabled for App、Background or Foreground Push Enabled、およびプッシュサブスクリプションフィルターなどのフィルターを使用して、設定やデバイスレベルの認可によってユーザーをターゲティングまたは監査できます。iOSでは、特定のユーザーに対するこれらのフィルターの読み取り方は、OSプロンプトを完了したかどうか、設定を変更したかどうか、または仮承認を使用しているかどうかによって異なります。iOSユーザーアクションとプッシュステータスおよびその他のプラットフォーム固有のシナリオを参照してください。
CampaignおよびCanvasの分析
プッシュCampaignまたはCanvasの分析ページでは、送信数、バウンス数、開封数などの指標がその送信の配信とエンゲージメントを反映します。これらの数値を個々のプロファイルと照合するには、Campaign DetailsまたはCanvas DetailsからUser Data(CSV)を使用して受信者をエクスポートします。手順と権限については、CampaignデータのエクスポートおよびCanvasデータのエクスポートを参照してください。分析とエクスポートの間でカウントが一致しない場合は、エクスポートのトラブルシューティングのCampaignおよびCanvasの分析を参照してください。
iOSユーザーアクションとプッシュステータス
以下の表は、さまざまなユーザーアクションがBrazeにおけるiOSプッシュ有効化、フォアグラウンドまたはバックグラウンドプッシュ登録、およびプッシュサブスクリプションステータスにどのように影響するかを示しています。ユーザーがアプリをインストールして最初のセッションを開始すると、その状態は通常、最初の行に示されているとおりになります。後続の各アクションにより、これらの値の一部が更新される場合がありますが、すべてが更新されるわけではありません。
| ユーザーアクション | Foreground Push Enabled |
Foreground Push Enabled for App |
プッシュ登録タイプ | プッシュサブスクリプションステータス |
|---|---|---|---|---|
| ユーザーがアプリをインストールしてセッションを記録する | false* |
更新なし | バックグラウンド | Subscribed |
| ユーザーがiOSネイティブプッシュプロンプトを受け取り、Allowを選択する | true |
true |
フォアグラウンド | Opted-In** |
| ユーザーがiOSネイティブプッシュプロンプトを受け取り、Don’t Allowを選択する | false |
更新なし | バックグラウンド | 更新なし |
| ユーザーがデバイス設定からプッシュを有効にしてセッションを記録する | true |
true |
フォアグラウンド | Opted-In** |
| ユーザーがデバイス設定からプッシュを無効にしてセッションを記録する | false |
false |
バックグラウンド | 更新なし |
| ユーザーがアプリを削除する | 更新なし | プッシュトークンが無効化された時に更新 | プッシュトークンが無効化された時に更新 | 更新なし |
* アプリが仮承認プッシュを使用していない場合、ユーザーがプッシュ通知を許可するまでForeground Push Enabledはfalseです。アプリが仮承認プッシュを使用している場合、最初のセッション開始時にForeground Push Enabledはtrueになります。詳細については、仮承認とサイレントプッシュを参照してください。
** Braze Swift SDKバージョン7.5.0以降、optInWhenPushAuthorized設定プロパティにより、プッシュ権限が承認された際にプッシュサブスクリプション状態が自動的にOpted-Inに設定されるかどうかを制御できます。詳細については、プッシュサブスクリプション状態の更新を参照してください。
プッシュ権限
プッシュ対応のすべてのプラットフォーム(iOS、Web、Android)では、OSレベルのシステムプロンプトによる明示的なオプトインが必要です。以下に若干の違いを説明します。
ユーザーの決定は最終的なものであり、拒否された後に再度尋ねることはできないため、プッシュプライマーのアプリ内メッセージを使用することは、オプトイン率を向上させるための重要な戦略です。
ネイティブOSプッシュ権限プロンプト
| プラットフォーム | スクリーンショット | 説明 |
|---|---|---|
| iOS | ![]() |
仮承認プッシュ権限をリクエストする場合は適用されません。 |
| Android | ![]() |
このプッシュ権限はAndroid 13で導入されました。Android 13より前は、プッシュの送信に権限は不要でした。 |
| Web | ![]() |
Android
Android 13より前は、プッシュ通知の送信に権限は不要でした。Android 12以前では、Brazeが自動的にプッシュトークンをリクエストする際、最初のセッションですべてのユーザーがSubscribedと見なされます。この時点で、ユーザーはそのデバイスの有効なプッシュトークンとデフォルトのサブスクリプション状態Subscribedを持つプッシュ有効状態になります。
Android 13以降、プッシュ権限はユーザーに要求し、許可を得る必要があります。アプリは適切なタイミングでユーザーに手動で権限をリクエストできますが、リクエストしない場合は、アプリが通知チャネルを作成した際に自動的にプロンプトが表示されます。
iOS

アプリは仮承認プッシュまたは承認済みプッシュをリクエストできます。
承認済みプッシュでは、通知を送信する前にユーザーからの明示的な許可が必要ですが、仮承認プッシュでは、サウンドやアラートなしで通知センターに直接__サイレントに__通知を送信できます。
仮承認とサイレントプッシュ
iOS 12(2018年リリース)より前は、すべてのユーザーがプッシュ通知を受け取るために明示的にオプトインする必要がありました。
iOS 12で、Appleは仮承認を導入しました。これにより、ブランドはユーザーが明示的にオプトインする前に、ユーザーの通知センターにサイレントプッシュ通知を送信でき、メッセージの価値を早期に示す機会が得られます。詳細については、仮承認を参照してください。
Web
Webでは、ネイティブブラウザの権限ダイアログを通じて明示的なユーザーオプトインをリクエストする必要があります。
iOSやAndroidではアプリがいつでも権限プロンプトを表示できますが、一部のモダンブラウザでは「ユーザージェスチャー」(マウスクリックやキーストローク)によってトリガーされた場合にのみプロンプトが表示されます。サイトがページ読み込み時にプッシュ通知の権限をリクエストしようとすると、ブラウザによって無視またはサイレント化される可能性があります。
そのため、ページが読み込まれたときにランダムにではなく、ユーザーがWebサイト上のどこかをクリックしたときにのみ権限をリクエストする必要があります。
プッシュトークン
プッシュトークンは、ユーザーのデバイスによって生成される一意の匿名識別子であり、各受信者の通知をどこに送信するかを識別するためにBrazeに送信されます。
プッシュトークンの分類には、プッシュ通知をユーザーに送信する方法を理解するために不可欠な2つの方法があります。
- フォアグラウンドプッシュは、ユーザーのデバイスのフォアグラウンドに通常の可視プッシュ通知を送信する機能を提供します。
- バックグラウンドプッシュは、特定のデバイスがそのブランドからのプッシュ通知の受信をオプトインしているかどうかに関係なく利用できます。バックグラウンドプッシュにより、ブランドはサイレントプッシュ通知(意図的に表示されない通知)をデバイスに送信して、アンインストール追跡などの主要な機能をサポートできます。
ユーザープロファイルにアプリに関連付けられた有効なフォアグラウンドプッシュトークンがある場合、Brazeはそのユーザーを該当アプリの「プッシュ登録済み」と見なします。Brazeは、これらのユーザーを識別するための特定のセグメンテーションフィルターForeground Push Enabled for App,を提供しています。

Foreground Push Enabled for Appフィルターは、該当アプリの有効なフォアグラウンドおよびバックグラウンドプッシュトークンの存在のみを考慮します。ただし、より汎用的なForeground Push Enabledフィルターは、ワークスペース内のいずれかのアプリでプッシュ通知を明示的に有効にしたユーザーをセグメント化します。このカウントにはフォアグラウンドプッシュのみが含まれ、配信停止したユーザーは含まれません。これらのフィルターやその他のフィルターの詳細については、セグメンテーションフィルターを参照してください。
1つのデバイスに複数のユーザー
プッシュトークンはデバイスとアプリの両方に固有であるため、同じデバイスを使用している複数のユーザーを区別するためにプッシュトークンを使用することはできません。
たとえば、CharlieとKimという2人のユーザーがいるとします。Charlieが自分の電話でアプリのプッシュ通知を有効にしており、KimがCharlieの電話を使ってCharlieのプロファイルからログアウトし、自分のプロファイルにログインした場合、プッシュトークンはKimのプロファイルに再割り当てされます。その後、Kimがログアウトし、Charlieが再度ログインするまで、プッシュトークンはそのデバイス上のKimのプロファイルに割り当てられたままになります。
アプリまたはWebサイトは、デバイスごとに1つのプッシュサブスクリプションのみを持つことができます。そのため、ユーザーがデバイスまたはWebサイトからログアウトし、新しいユーザーがログインすると、プッシュトークンは新しいユーザーに再割り当てされます。これは、ユーザープロファイルのEngagementタブのContact Settingsセクションに反映されます。

プッシュプロバイダー(APNs/FCM)が1つのデバイス上の複数のユーザーを区別する方法がないため、プッシュトークンは最後にログインしたユーザーに渡され、デバイス上でプッシュのターゲットとするユーザーが決定されます。
複数のデバイスと1人のユーザー
プッシュサブスクリプション状態はユーザーベースであり、個々のアプリに固有ではありません。サブスクリプション状態は最後に設定された値です。そのため、ユーザーがプッシュ通知にオプトインした場合、そのプッシュサブスクリプション状態はすべての対象デバイスでOpted-Inになります。ユーザーが後でアプリケーションまたはブランドが提供するその他の方法を通じてプッシュ通知を明示的に配信停止した場合、プッシュサブスクリプション状態はUnsubscribedに更新され、プッシュ登録済みのデバイスはプッシュ通知を受信できなくなります。
Foreground Push Enabledフィルター
Foreground Push Enabledは、Brazeのセグメンテーションフィルターであり、マーケターがBrazeにプッシュ通知の送信を許可しているユーザーと、プッシュ通知を受け取らないという意思を表明していないユーザーを簡単に識別できます。
Foreground Push Enabledフィルターは以下を考慮します:
- Brazeがプッシュ通知を送信できるかどうか(フォアグラウンドプッシュトークン)
- ユーザーのいずれかのデバイスでプッシュを受信するための全体的な設定(プッシュサブスクリプション状態)

ユーザーは、ワークスペース内のアプリのアクティブなフォアグラウンドプッシュトークンを持っている場合、「プッシュ有効」または「プッシュ登録済み」と見なされます。つまり、プッシュ有効化ステータスはアプリ固有です。

プッシュ登録状態の確認方法については、プッシュ登録ステータスを参照してください。
プッシュ登録と変更ログ情報の確認
ダッシュボードでは、プッシュ登録とプッシュ変更ログに関する情報を以下の場所で確認できます。
- セグメンテーション – ユーザーのサブスクリプション状態、有効状態、フォアグラウンドおよびバックグラウンドの有効状態でフィルタリングします。
- Campaign分析 – 単一のCampaignまたはCanvasのプッシュ統計とフィードバックを表示します。
- ユーザープロファイル(Engagementタブ) – 特定のユーザーのContact Settingsとプッシュ変更ログを表示します。
プッシュ有効状態を確認する際、Push Registered forは、Brazeがそのユーザーにフォアグラウンドプッシュを送信できるプラットフォームを示します。iOSおよびAndroidでは、ユーザーがフォアグラウンドプッシュ有効からバックグラウンドプッシュ有効(remote_notification_enabled)に移行した場合、プッシュ変更ログに「Push token was updated from foreground push enabled to foreground push disabled.」と記録されます。
ユーザーがテストユーザーとして追加されている場合、開発者コンソール > User Event Logで、ユーザープロファイルにremote_notification_enabledがtrueまたはfalseのSDKリクエストが表示されます。SDKの更新がユーザープロファイルに反映されるまでに短い遅延があるため、ユーザープロファイルを更新する必要がある場合があります。
iOSプッシュ状態のセグメンテーションフィルター:
- iOSフォアグラウンドおよびバックグラウンドプッシュ無効: ユーザーにはまだプッシュプロンプトが表示されていません。
- iOSバックグラウンド有効: ユーザーにプッシュプロンプトが表示され、拒否したか、許可した後にデバイス設定でプッシュ通知をオフにしました(ユーザーがセッションを持った後に反映されます)。
- iOSフォアグラウンド有効: ユーザーにプッシュプロンプトが表示され、フォアグラウンドプッシュを受信する資格があります。
Campaign分析は、上記の詳細に沿ったプッシュ統計をインラインで反映します。CampaignまたはCanvasに入ったユーザープロファイルをダウンロードして、ユーザープロファイルをクロスリファレンスすることもできます。
その他のプラットフォーム固有のシナリオ
ユーザーがネイティブプッシュ権限プロンプトを受け入れると、サブスクリプションステータスはopted inに変更されます。
サブスクリプションを管理するには、ユーザーメソッドsetPushNotificationSubscriptionTypeを使用してサイトに設定ページを作成し、その後ダッシュボードでオプトアウトステータスによってユーザーをフィルタリングできます。
ユーザーがブラウザ内で通知を無効にした場合、そのユーザーに送信される次のプッシュ通知はバウンスし、Brazeはユーザーのプッシュトークンを適切に更新します。これは、プッシュ有効フィルター(Background or Foreground Push Enabled、Foreground Push Enabled、Foreground Push Enabled for App)の適格性を管理するために使用されます。ユーザーのプロファイルに設定されたサブスクリプションステータスはユーザーレベルの設定であり、プッシュがバウンスしても変更されません。
410 Webプッシュトークンエラー {#410-web-push-token-errors} {#410-web-push-token-errors}
410: Goneエラーが発生した場合、これはユーザーがOS設定のブラウザからWebプッシュ通知を無効にした場合、同じデバイスで別のユーザーとしてログインしている場合、またはユーザーがしばらくWebサイトにアクセスしていない場合に発生する可能性があります。
410: Endpoint Not Validエラーが発生した場合、これはWebプッシュトークン(基本的にはURL)の有効期限が切れたことを意味する可能性があります。これは、ユーザーがサイトに再度アクセスしない場合、またはブラウザがトークンを無効にした場合に発生する可能性があります。また、ブラウザによっては定期的に(多くの場合数か月ごとに)発生することもあります。ユーザーがサイトに再度アクセスし、ブラウザが「許可」に設定されている場合、Brazeはそのデバイスの新しいトークンを自動的に収集します。これは、SDKの初期化時にdisablePushTokenMaintenance初期化オプションが使用されていないことを前提としています。

Webプラットフォームでは、バックグラウンドプッシュやサイレントプッシュは許可されていません。
フォアグラウンドプッシュが有効なユーザーがOS設定でプッシュを無効にした場合、次のセッション開始時に以下が発生します:
- Brazeはそのユーザーをフォアグラウンドプッシュ無効としてマークし、プッシュメッセージの送信を試みなくなります。
Foreground Push Enabled for App (Android)フィルターとForeground Push Enabledセグメンテーションフィルター(ユーザープロファイル上の他のアプリに有効なフォアグラウンドプッシュトークンがない場合)はfalseを返します。
このシナリオでは、バックグラウンドプッシュトークンは引き続き存在するため、セグメンテーションフィルターBackground or Foreground Push Enabled = trueを使用してバックグラウンド(サイレント)プッシュ通知を引き続き送信できます。
Androidの場合、Brazeは以下の場合にユーザーをプッシュ無効と見なします:
- ユーザーがデバイスからアプリをアンインストールした場合。
- バウンスによりプッシュメッセージの配信に失敗した場合。これは多くの場合アンインストールが原因ですが、アプリの更新、新しいプッシュトークンバージョン、またはフォーマットが原因の場合もあります。
- Firebase Cloud Messagingへのプッシュ登録が失敗した場合(ネットワーク接続の不良、またはFCMへの接続の失敗や有効なトークンの返却の失敗が原因の場合があります)。
- ユーザーがデバイス設定でアプリのプッシュ通知をブロックし、その後セッションを記録した場合。

Androidプッシュ通知をインターセプトできるのは、アプリがフォアグラウンドまたはバックグラウンド(ただし実行中)にある場合のみです。アプリが終了または完全に強制終了されている場合、通知をインターセプトすることはできません。
ユーザーがフォアグラウンドプッシュのオプトインプロンプトを受け入れたかどうかに関係なく、Xcodeでリモート通知が有効になっており、アプリがregisterForRemoteNotifications()を呼び出している場合、バックグラウンドプッシュを送信できます。
アプリが仮承認されているか、ユーザーがプッシュにオプトインしている場合、フォアグラウンドプッシュトークンを受け取り、すべてのタイプのプッシュを送信できます。Braze内では、iOSでフォアグラウンドプッシュが有効なユーザーは、明示的(アプリレベル)または仮承認(デバイスレベル)のいずれかでプッシュ有効と見なされます。
ユーザーがOSレベルでプッシュ通知の受信を拒否した場合、プッシュサブスクリプション状態はSubscribedのままとなり、プロファイルにはフォアグラウンドプッシュトークンが登録されていることは表示されません。
最初にOSレベルでオプトインしたユーザーがOS設定でプッシュ通知を無効にした場合、次のセッション開始時に以下が発生します:
- Brazeはそのユーザーをフォアグラウンドプッシュ無効としてマークし、プッシュメッセージの送信を試みなくなります。
Foreground Push Enabled for App (iOS)フィルターとForeground Push Enabledセグメンテーションフィルター(ユーザープロファイル上の他のアプリに有効なフォアグラウンドプッシュトークンがない場合)はfalseを返します。
このシナリオでは、バックグラウンドプッシュトークンは引き続き存在するため、セグメンテーションフィルターBackground or Foreground Push Enabled = trueを使用してバックグラウンド(サイレント)プッシュ通知を引き続き送信できます。

iOSでは、プッシュ通知が表示される前にアプリがプッシュ通知をインターセプトすることは許可されていません。つまり、アプリ(およびBraze)は通知を表示するか非表示にするかを制御できません。ユーザーはデバイス設定でアプリのプッシュ通知をオプトアウトできますが、それはオペレーティングシステムによって制御されます。
ベストプラクティス
Brazeでのプッシュの使用を最適化するための詳細なガイダンスについては、プッシュのベストプラクティスに関する専用記事を参照してください。


