プッシュサブスクリプションの状態について
プッシュサブスクリプションの状態
Brazeの「プッシュサブスクリプションの状態」は、プッシュ通知の受信に対するユーザーのグローバルな設定を識別します。サブスクリプションの状態はユーザーベースであるため、個々のアプリに固有のものではありません。サブスクリプションの状態は、プッシュ通知のターゲットにするユーザーを決定する際に役立つフラグとなります。

ユーザーのプッシュサブスクリプションの状態は、ユーザーのすべてのデバイスを含むユーザープロファイル全体に適用されます。
以下のサブスクリプション状態オプションがあります:Subscribed、Opted-In、およびUnsubscribed。
デフォルトでは、ユーザーがプッシュ通知でメッセージを受け取るには、プッシュサブスクリプション状態がSubscribedまたはOpted-Inのいずれかであり、かつフォアグラウンドプッシュが有効になっている必要があります。メッセージの作成時に、必要に応じてこの設定をオーバーライドできます。
| オプトイン状態 | 説明 |
|---|---|
Subscribed |
Brazeでユーザープロファイルが作成されたときのデフォルトのプッシュサブスクリプション状態。 |
Opted-In |
ユーザーがプッシュ通知を受け取ることを明示的に希望しました。ユーザーがOSレベルのプッシュプロンプトを承認した場合、Brazeは自動的にそのユーザーのオプトイン状態を Opted-In に変更します。Android 12またはそれ以前のユーザーには適用されません。 |
Unsubscribed |
ユーザーがアプリケーションやブランドが提供するその他の方法で、プッシュ配信を明示的に解除しました。デフォルトでは、Brazeのプッシュキャンペーンは、プッシュ通知に対して 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>
iOSでは、新規インストール時のプッシュサブスクリプション状態は通常 Subscribed です。ユーザーが通知を許可すると、自動オプトインが有効な場合、Brazeは状態を Opted-In に設定します。ユーザーが Don’t Allow を選択し、後からiOSの設定でプッシュを有効にした場合、状態は設定を変更した瞬間ではなく、ユーザーがセッションを記録した後に更新されます。
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を使用して適切なメソッドを呼び出してください。
インポートされたプッシュトークン(iOS)
iOSプッシュトークンをインポートする際に push_token_import を使用すると、ユーザーのプッシュサブスクリプション状態は通常 Subscribed となり、Braze統合アプリでセッションを記録するまでその状態が維持されます。最初のセッション後、自動オプトインが適用される場合(例えば、ユーザーがiOSでプッシュを承認し、optInWhenPushAuthorized が有効な場合)、Brazeは状態を Opted-In に更新することがあります。
インポート後、およびユーザーの最初のアプリ内セッション後に、ユーザープロファイルの連絡先設定を確認して、期待される状態になっていることを確認してください。
プッシュサブスクリプションの状態の確認

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