概要
サブスクリプションは、メールアドレス、電話番号、デバイスなど、ユーザーがメッセージを受信できる特定のチャネルを表します。OneSignalは4種類のサブスクリプションをサポートしています:- Email – メールメッセージの送信用
- SMS – テキストメッセージの送信用
- Web Push – Webブラウザ経由のプッシュ通知用
- Mobile – モバイルデバイスでのプッシュ通知、アプリ内メッセージ、ライブアクティビティ用

OneSignalダッシュボード オーディエンス > サブスクリプションページ。External IDを介して単一のユーザーに関連付けられた複数のサブスクリプションを表示しています。
- Mobile(iOS)iOSアプリをインストールした後に作成されます。
OneSignal.loginを呼び出してExternal IDを設定し、サブスクリプションをユーザーにリンクします。 - SMS iOSアプリ内で提供された電話番号の後に作成されます。詳細については、以下のSMSサブスクリプションを参照してください。
- Web Push Webサイトでプッシュ通知を購読した後に作成されます。プッシュ通知を受信できます。
- Email メールアドレスが提供された後に作成されます。メールメッセージの送信用。
- Mobile(Android)Androidアプリをインストールした後に作成されます。プッシュ通知、アプリ内メッセージ、ライブ通知を受信できます。
ユーザーは最大20個のサブスクリプションを持つことができます。21個目が追加されると、OneSignalは最も古いサブスクリプション(最終セッションに基づく)からExternal IDを削除し、新しいOneSignal IDを割り当てます。これにより、非アクティブなサブスクリプション用に新しい匿名ユーザーが効果的に作成されます。ただし、OneSignalは少なくとも3つのメールと3つのSMSサブスクリプション(該当する場合)を保持することを保証します。詳細についてはユーザーを参照してください。
サブスクリプションプロパティ
各サブスクリプションには次のプロパティがあります:| プロパティ | 説明 |
|---|---|
| Channel | サブスクリプションのタイプ:Email、SMS、または Push。プッシュはモバイル(iOS、Androidなど)またはWebです。モバイルプッシュサブスクリプションのみがアプリ内メッセージをサポートします。 |
| Subscription Status | サブスクリプションがメッセージを受信できるかどうかを示します。詳細については、サブスクリプションステータスを参照してください。 |
| Last Session | OneSignal SDKによって追跡された最終セッションのタイムスタンプ。Email/SMSの場合、最新のプッシュサブスクリプションに基づきます。 |
| Usage Duration | OneSignal SDKによって追跡されたアプリまたはサイトでサブスクリプションがアクティブだった合計時間(秒単位)。セッションが60秒を超える場合にのみ追跡されます。 |
| Sessions | アプリ/サイトが開かれた回数のカウント。フォーカスが外れてから30秒以上経過すると新しいセッションが開始されます。 |
| First Session | ユーザーの最初のサブスクリプションが作成されたときのタイムスタンプ。 |
| IP Address | OneSignal SDKを使用する際のネットワークの場所。EUでは収集されません。個人データの取り扱いを参照してください。 |
| Subscription ID | 特定のサブスクリプションを表すUUID。サブスクリプションの識別に使用されます。 |
| OneSignal ID | ユーザーを表すUUID。ユーザーを参照してください。 |
| External ID | カスタムユーザーID。複数のサブスクリプションを同じユーザーにリンクするのに役立ちます。 |
| Device | サブスクリプションが作成されたデバイスモデル。例えば、Webプッシュブラウザの armv81 はAndroidデバイスです。 |
| メールサブスクリプションにのみ設定されます。 | |
| Phone Number | SMSサブスクリプションにのみ設定されます。E.164形式である必要があります。 |
| App Version | SDKから:Androidの versionCode、iOSの CFBundleShortVersionString。 |
| SDK Version | 使用されたOneSignal SDKのバージョン。GitHub > SDKs(SDKを選択)> Releasesを参照してください。 |
| Timezone ID | 最後のやり取り時のデバイスから取得。 |
| Country | IPアドレスから派生。 |
| Location Point | 位置情報追跡が有効な場合の緯度/経度。位置情報トリガー通知を参照してください。 |
| Language Code | サブスクリプション作成時のデバイスから取得。多言語メッセージングを参照してください。 |
| Tags | カスタムキーバリューメタデータ。タグを参照してください。 |
| Push Token | プッシュ配信に使用されるプラットフォームトークン(APNSまたはFCMなど)。プッシュサブスクリプションのみ。 - iOS Push APNSトークン形式:64文字、16進数文字のみ(0-9、a-f)。 - Android Push FCMトークン形式:通常163文字、英数字、ハイフン、コロン、アンダースコアを含む場合があります。 |
| Rooted | Androidデバイスがroot化(jailbreak)されているかどうかを示します。 |
サブスクリプションステータス
一般的に、サブスクリプションはメッセージを受信できる(Subscribed)か、メッセージを受信できない(Unsubscribed)のいずれかです。ただし、いくつか例外があります: モバイルサブスクリプション- Subscribed:ユーザーがプッシュ通知を受信する許可を付与しました。
- iOS Provisional pushが有効な場合、すべてのiOSモバイルサブスクリプションは、ユーザーによって無効化されるまでSubscribedになります。
- Unsubscribed:サブスクリプションはプッシュ通知を受信できませんが、アプリ内メッセージは受信できます。
- 詳細については、アンインストール、購読解除、無効なプッシュトークンの処理を参照してください。
- Never Subscribed – ユーザーが許可を付与しませんでした(購読解除と同じ)。
- Subscribed:ユーザーがプッシュ通知を受信する許可を付与しました。
- Unsubscribed:サブスクリプションはプッシュ通知を受信できません。
- 詳細については、以下の購読解除と無効なプッシュトークンの処理を参照してください。
- Subscribed:ユーザーがメールメッセージを受信することに同意し、メールアドレスが有効です。
- Unsubscribed:ユーザーがメールの受信をオプトアウトしましたが、必要に応じて上書きできます。
- 詳細については、以下のメールサブスクリプションを参照してください。
- Subscribed:ユーザーがSMSメッセージを受信することに同意し、電話番号が有効です。
- Unsubscribed:ユーザーがSMSメッセージの受信をオプトアウトしました。
- 詳細については、以下のSMSサブスクリプションを参照してください。
APIを使用する場合、
invalid_identifier: true は購読解除を意味します。詳細については notification_types を確認してください。notification_types
サブスクリプションがメッセージを受信する能力を示し、失敗の理由も含まれます。フロントエンドSDKを介して自動的に更新されるか、APIを介して手動で更新されます。ユーザー表示APIまたはCSV エクスポートで表示できます。
通知タイプの定義
通知タイプの定義
1 または正の数 = Subscribed。- サブスクリプションはこのチャネルでメッセージを受信できます。
- ユーザーに代わってメッセージを有効にする場合、
enabledプロパティと一緒に使用できます。プッシュサブスクリプションの場合、プッシュ通知を受信するには有効なtokenを設定する必要があります。詳細については、SDKセットアップドキュメントを参照してください。
0、-99 = Never Subscribed。- サブスクリプションはまだチャネルを購読していません。
-2 = Unsubscribed。- サブスクリプションはこのチャネルでメッセージを受信できません。
- ユーザーに代わってメッセージをオフにする場合、
enabledプロパティをfalseに設定して使用できます。メッセージ権限をオフにする場合の推奨値です。 - ユーザーが購読解除すると自動的に設定されます。
-3、-5 = Android Support Library Error。アプリのAndroid Support Libraryを追加または更新してください。-4、-8、-11、-12 = Android Google Play Services Library Error。- logcatを確認してください。デバッグログの取得を参照してください。
- アプリのGoogle Play Services Libraryをアップグレードし、Google Play Servicesエラーについてアプリのlogcatを確認してください。デバッグログの取得を参照してください。
-6 = Android Invalid Google Project Number。- FCMv1 Sender IDが、この
tokenが属する元のIDと一致しません。アプリのlogcatを確認してください。デバッグログの取得を参照してください。
-7、-9 = Android Outdated Google Play Services App- デバイス上のGoogle Play Servicesアプリを更新または有効にしてください。
-10 = Not Subscribed。- プッシュサブスクリプションがアプリをアンインストールしたか、デバイス設定で購読解除しました。
- Webプッシュが通知をブロックし、すべてのデータとワーカーをクリアしました。
-13 = iOS missing_push_capability。- すべての手順が実装されていることを確認するために、SDKセットアップドキュメントを確認してください。チャネルセットアップを参照してください。
-14、-16、-17 = iOS APNS Errors。- デバイスがAPNSへの接続に問題があります。iOSトラブルシューティングガイドとデバッグログの取得を確認してください。
-15 = iOS Simulator Error。- iOSシミュレーターにはiOS 16.4以降が必要です。別のシミュレーターまたはデバイスを使用してください。
-18 = Never Prompted。- サブスクリプションは購読を促されませんでした。これは必須の許可プロンプトのみを追跡し、アプリ内メッセージは含まれません。
-19 = Prompted But Never Answered。- サブスクリプションはプロンプトを受けましたが、回答を提供しませんでした。
-20、-21 = temp_web_record。Web、pushSubscriptionchange 権限が取り消されました-22 = ダッシュボードから手動で購読解除されました。- 権限が取り消されました。
-23、-24 = Web Service Worker Error。- Web SDKトラブルシューティングを参照してください。
-31 = REST APIを介して無効化されました。-98 = SMSサブスクリプションがダブルオプトインを待っています。モバイルサブスクリプション
モバイルサブスクリプションは、iOS、Android、Huawei、またはAmazonデバイスを表し、以下をサポートします:- プッシュ通知
- アプリ内メッセージ
- ライブアクティビティ
各モバイルサブスクリプションは、作成されたデバイスとプッシュトークンに紐付けられます。アプリが同じデバイスでアンインストールおよび再インストールされた場合、新しいサブスクリプションが生成されます。ユーザーがアプリを開くたびに
OneSignal.login を呼び出して、External IDが設定され、サブスクリプションがユーザーにリンクされていることを確認してください。モバイルサブスクリプションの更新
モバイルサブスクリプションのプロパティは、OneSignalモバイルSDKを介して更新することをお勧めします。- プッシュ権限のプロンプトと権限/サブスクリプション変更の監視
- ユーザーのログインでExternal IDとエイリアスを設定
- タグの追加
- 言語の設定
アンインストール、購読解除、無効なプッシュトークンの処理
次の場合、モバイルサブスクリプションはプッシュ通知の受信を停止します:- アプリをアンインストールした
- デバイス設定でプッシュを無効にし、アプリを再度開かない
- プッシュトークンが期限切れ
- ユーザーが同じデバイスまたは新しいデバイスでアプリを再インストールした場合、新しいサブスクリプションが作成され、メッセージを受信するには再度購読する必要があります。
- ユーザーがデバイス設定でプッシュを再度有効にした場合、アプリを開いたときにサブスクリプションステータスがSubscribedに設定され、プッシュトークンが更新されます。
- プッシュトークンが期限切れになった場合、ユーザーが同じデバイスでアプリを開いたときにサブスクリプションステータスと新しいプッシュトークンが更新されます。
- Event Streams - プッシュ送信時に購読解除を検出
- プッシュレポート - プッシュ送信時に購読解除を検出
- SDKのサブスクリプション変更リスナーを使用 - ユーザーがデバイス設定でプッシュを無効にしてからアプリを開いたときに購読解除を検出
Webプッシュサブスクリプション
Webプッシュサブスクリプションは、特定のデバイス、ブラウザ、ブラウザプロファイルに紐付けられます。Chromeデスクトップで購読したユーザーは、そのモバイルデバイスからWebサイトを購読してWebプッシュサブスクリプションを別途作成しない限り、Chromeモバイルでプッシュを受信しません。 新しいWebプッシュサブスクリプションは、次のシナリオで作成されます:- ユーザーがブラウザのシステムレベルのネイティブ許可プロンプトで「許可」をクリックしてWebサイトを購読します。これにより、一意のプッシュトークンとサブスクリプションIDが生成されます。
- ユーザーがブラウザデータ(履歴、キャッシュ、Cookie、ローカルストレージ)をクリアしてサイトに再訪問します。これにより、新しい一意のサブスクリプションIDが作成されます。
WebプッシュサブスクリプションIDは変更されません。ただし、ユーザーがブラウザデータをクリアしてサイトに戻った場合、または別のブラウザ/ブラウザプロファイルで購読した場合、新しいサブスクリプションIDが作成されます。External IDが設定され、サブスクリプションがユーザーにリンクされていることを確認するために、ユーザーがサイトを開くたびに、またはサブスクリプション変更リスナー内で
OneSignal.loginを呼び出してください。Webプッシュサブスクリプションの更新
Webプッシュサブスクリプションのプロパティは、OneSignal Web SDKを介して更新することをお勧めします。- プッシュ権限のプロンプトと権限/サブスクリプション変更の監視
- ユーザーのログインでExternal IDとエイリアスを設定
- タグの追加
- 言語の設定
購読解除と無効なプッシュトークンの処理
次の場合、Webプッシュサブスクリプションはプッシュ通知の受信を停止します:- ブラウザデータ(履歴、キャッシュ、Cookie、ローカルストレージ)をクリアした
- ブラウザシステム設定でプッシュを無効にした
- プッシュトークンが期限切れ
- ブラウザデータをクリアした後にユーザーがサイトに戻った場合、新しいサブスクリプションが作成され、自動再購読が有効になっていれば、メッセージを受信するために自動的に再購読されます。
- ブラウザ設定でユーザーがプッシュを再度有効にした場合、サイトに戻ったときにサブスクリプションステータスがSubscribedに設定されます。
- プッシュトークンが期限切れになった場合、ユーザーがサイトに戻ったときにサブスクリプションステータスと新しいプッシュトークンが更新されます。
- Event Streams - プッシュ送信時に購読解除を検出
- プッシュレポート - プッシュ送信時に購読解除を検出
- SDKのサブスクリプション変更リスナーを使用 - ユーザーがプッシュを無効にしてからサイトに戻ったときに購読解除を検出
メールサブスクリプション
メールサブスクリプションはメールアドレスに基づいており、メール配信にのみ使用されます。これはタグの設定とは異なります。 メールサブスクリプションを作成する方法:- SDKの
addEmailメソッドまたはメールプロンプト - External IDを設定してサブスクリプションをユーザーにリンクするために、OneSignal.loginを呼び出した後にこれらのメソッドを使用します。 - ユーザー作成APIまたはメール作成API
- ダッシュボードのCSVインポーターまたはメールアドレスを手動で追加
メールはアプリごとに一意です。同じメールを削除して再度追加すると、新しいサブスクリプションIDが作成されます。メールサブスクリプションを作成する際は、ユーザーにリンクするために
external_id を含めることをお勧めします。メールサブスクリプションの管理
ユーザーへのリンク メールサブスクリプションを作成する際は、ユーザーにリンクするためにexternal_id を設定してください。
- SDKを使用する場合、
external_idを設定してメールサブスクリプションをユーザーにリンクするために、addEmailを呼び出す前にloginメソッドを呼び出します。 - CSVインポーターまたはREST APIを使用する場合、メールと一緒に
external_id識別子を設定します。
- メール送信時に、ユーザーが購読解除リンクを介してオプトアウトした
- APIを介して
enabledをfalseに設定した - ダッシュボードのオプションボタンからサブスクリプションを購読解除した メールサブスクリプションは次の方法で再購読できます:
- APIを介して
enabledをtrueに設定する - ダッシュボードのオプションボタンからサブスクリプションを購読する
SMSサブスクリプション
SMSサブスクリプションは、E.164形式の電話番号に紐付けられます。 作成方法:- SDKの
addSmsまたはSMSプロンプト - External IDを設定してサブスクリプションをユーザーにリンクするために、OneSignal.loginを呼び出した後にこれらのメソッドを使用します。 - ユーザー作成またはSMS作成 API
- CSVインポーター
電話番号はアプリごとに一意です。削除後に再度追加すると、新しいサブスクリプションIDが作成されます。SMSサブスクリプションを作成する際は、ユーザーにリンクするために
external_id を含めることをお勧めします。SMSサブスクリプションの管理
- ユーザーが「STOP」またはその他のSMS同意キーワードで返信すると購読解除されます
- ユーザーは「START」またはその他のSMS同意キーワードで返信して再購読することもできます
- APIの
enabledプロパティを介してサブスクリプションを更新
サブスクリプションのインポートまたは移行
別のプロバイダーからプッシュトークン、メールアドレス、電話番号をインポートするには、次を使用します:詳細についてはOneSignalへの移行を参照してください。
サブスクリプションの削除
サブスクリプションは次の理由で削除できます:- データプライバシー
- 非アクティブなレコードのクリーンアップ
無料プランでは、18か月以上アクティビティのないサブスクリプションは自動的に削除されます。
FAQ
プッシュサブスクリプションステータスはいつ更新されますか?
プッシュサブスクリプションステータスは次の場合に更新されます:- ユーザーがアプリを開いたとき、OneSignal SDKはプッシュトークンが有効かどうか、通知権限が付与されているかどうかを確認し、それに応じてサブスクリプションステータスを更新します。
- SDKサブスクリプションオブザーバーメソッドでこのイベントをキャプチャし、データベースに送信できます。
- サブスクリプションに2回以上通知を送信した後。メッセージ送信時に購読解除を検出するには、Event Streamsを使用します。
- メッセージ1:配信済み。ユーザーはデバイスで受信し、その後デバイス設定で購読解除します。
- メッセージ2:配信済み(ただしデバイスは受信しません)。
- メッセージ3:失敗(購読解除としてマーク)
- メッセージ4:サブスクリプションには送信されません。
ユーザープライバシーを保護するため、Appleは購読解除/アンインストールを報告する前に遅延(通常14日以上)を導入しました。詳細については、Appleフォーラムおよびテクニカルノートを参照してください。デバイスが購読解除してアプリを開いた場合、OneSignalはこの購読解除イベントをすぐに検出し、SDKを介してレコードを更新します。ただし、デバイスがアプリをアンインストールした場合、または購読解除してアプリを開かない場合、Appleが購読解除イベントを報告するまでに数週間かかることがあります。ダッシュボードまたはAPIを使用して古いサブスクリプションを削除してください。