メインコンテンツへスキップ

概要

サブスクリプションは、メールアドレス、電話番号、デバイスなど、ユーザーがメッセージを受信できる特定のチャネルを表します。OneSignalは4種類のサブスクリプションをサポートしています:
サブスクリプションタイプ受信できるもの
Emailメールメッセージ
SMSSMS、MMS、RCSメッセージ
Web PushWebプッシュ通知
Mobileモバイルプッシュ通知、アプリ内メッセージ、ライブアクティビティ
各ユーザーは複数のサブスクリプションを持つことができます。すべてのサブスクリプションでユーザーを識別するには、External IDを使用します。
Subscriptions page showing Email, SMS, Web Push, and Mobile subscriptions linked by External ID
上の画像で、「userA」は5つのサブスクリプションを持っています:
  1. Mobile(iOS)iOSアプリをインストールした後に作成されます。OneSignal.login を呼び出してExternal IDを設定し、サブスクリプションをユーザーにリンクします。
  2. SMS iOSアプリ内で電話番号が提供された後に作成されます。詳細については、以下のSMSサブスクリプションを参照してください。
  3. Web Push Webサイトでプッシュを購読した後に作成されます。プッシュ通知を受信できます。
  4. Email メールアドレスが提供された後に作成されます。メールメッセージの送信用。
  5. Mobile(Android)Androidアプリをインストールした後に作成されます。プッシュ通知、アプリ内メッセージ、ライブアクティビティを受信できます。
ユーザーは最大20個のサブスクリプションを持つことができます。21個目が追加されると、OneSignalは最も古いサブスクリプション(最終セッションに基づく)からExternal IDを削除し、新しいOneSignal IDを割り当てます。これにより、非アクティブなサブスクリプション用に新しい匿名ユーザーが効果的に作成されます。ただし、OneSignalは少なくとも3つのメールと3つのSMSサブスクリプション(該当する場合)を保持することを保証します。詳細についてはユーザーを参照してください。

サブスクリプションプロパティ

各サブスクリプションには次のプロパティがあります:
プロパティ説明
Channelサブスクリプションのタイプ:EmailSMS、または Push。プッシュはモバイル(iOS、Androidなど)またはWebです。モバイルプッシュサブスクリプションのみがアプリ内メッセージをサポートします。
Subscription Statusサブスクリプションがメッセージを受信できるかどうかを示します。詳細については、サブスクリプションステータスを参照してください。
Last SessionOneSignal SDKによって追跡された最終セッションのタイムスタンプ。Email/SMSの場合、最新のプッシュサブスクリプションに基づきます。
Usage DurationOneSignal SDKによって追跡されたアプリまたはサイトでサブスクリプションがアクティブだった合計時間(秒単位)。セッションが60秒を超える場合にのみ追跡されます。
Sessionsアプリ/サイトが開かれた回数のカウント。フォーカスが外れてから30秒以上経過すると新しいセッションが開始されます。
First Sessionユーザーの最初のサブスクリプションが作成されたときのタイムスタンプ。
IP AddressOneSignal SDKを使用する際のネットワークの場所。EUでは収集されません。個人データの取り扱いを参照してください。
Subscription ID特定のサブスクリプションを表すUUID。サブスクリプションの識別に使用されます。
OneSignal IDユーザーを表すUUID。ユーザーを参照してください。
External IDカスタムユーザーID。複数のサブスクリプションを同じユーザーにリンクするのに役立ちます。
Deviceサブスクリプションが作成されたデバイスモデル。例えば、Webプッシュブラウザの armv81 はAndroidデバイスです。
Emailメールサブスクリプションにのみ設定されます。
Phone NumberSMSサブスクリプションにのみ設定されます。E.164形式である必要があります。
App VersionSDKから:Androidの versionCode、iOSの CFBundleShortVersionString
SDK Version使用されたOneSignal SDKのバージョン。GitHub > SDKs(SDKを選択)> Releasesを参照してください。
Timezone ID最後のやり取り時のデバイスから取得。
CountryIPアドレスから派生。
Location Point位置情報追跡が有効な場合の緯度/経度。位置情報トリガー通知を参照してください。
Language Codeサブスクリプション作成時のデバイスから取得。多言語メッセージングを参照してください。
Tagsカスタムキーバリューメタデータ。タグを参照してください。
Push Tokenプッシュ配信に使用されるプラットフォームトークン(APNSまたはFCMなど)。プッシュサブスクリプションのみ。
- iOS Push APNSトークン形式:64文字、16進数文字のみ(0-9、a-f)。
- Android Push FCMトークン形式:通常163文字、英数字、ハイフン、コロン、アンダースコアを含む場合があります。
RootedAndroidデバイスがroot化(jailbreak)されているかどうかを示します。

サブスクリプションステータス

一般的に、サブスクリプションはメッセージを受信できる(Subscribed)か、メッセージを受信できない(Unsubscribed)のいずれかです。詳細はチャネルによって異なります:
ステータスモバイルWeb PushメールSMS
Subscribedユーザーがプッシュ権限を付与しました。iOS Provisional pushでは、すべてのiOSサブスクリプションはSubscribedとして開始します。ユーザーがブラウザの権限プロンプトで「許可」をクリックしました。メールアドレスが有効で、ユーザーが同意しています。電話番号が有効で、ユーザーが同意しています。
Unsubscribedプッシュを受信できませんが、アプリ内メッセージは受信できますアンインストール・無効トークンの処理を参照してください。プッシュを受信できません。購読解除・無効トークンの処理を参照してください。ユーザーが購読解除リンクでオプトアウトしました。トランザクションメールでは上書きできます。ユーザーが「STOP」またはその他のオプトアウトキーワードで返信しました。
Never Subscribedユーザーがプロンプトを受けたことがない、または権限を付与したことがありません。ユーザーがプロンプトを受けたことがない、またはプロンプトをブロックしました。該当なし該当なし
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-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-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-31 = REST APIを介して無効化されました。-98 = SMSサブスクリプションがダブルオプトインを待っています。

モバイルサブスクリプション

モバイルサブスクリプションは、iOS、Android、Huawei、またはAmazonデバイスを表し、以下をサポートします:
  • プッシュ通知
  • アプリ内メッセージ
  • ライブアクティビティ
OneSignal SDKを使用してユーザーがアプリをインストールして開くと、自動的に作成されます。
各モバイルサブスクリプションは、作成されたデバイスとプッシュトークンに紐付けられます。アプリが同じデバイスでアンインストールおよび再インストールされた場合、新しいサブスクリプションが生成されます。ユーザーがアプリを開くたびに OneSignal.login を呼び出して、External IDが設定され、サブスクリプションがユーザーにリンクされていることを確認してください。

モバイルサブスクリプションの更新

モバイルサブスクリプションのプロパティは、OneSignalモバイルSDKを使用して更新します。 タグ、言語、その他のいくつかのプロパティは、CSVインポート機能を介して更新できます。 モバイルサブスクリプションは、ユーザーサブスクリプション APIを介して作成および更新することもできますが、ほとんどのユースケースではモバイルSDKをお勧めします。

アンインストール、購読解除、無効なプッシュトークンの処理

次の場合、モバイルサブスクリプションはプッシュ通知の受信を停止します: これらの場合、プッシュ通知を送信する際にサブスクリプションステータスがUnsubscribedに設定されます。詳細については、以下のプッシュサブスクリプションステータスはいつ更新されますか?を参照してください。
  • ユーザーが同じデバイスまたは新しいデバイスでアプリを再インストールした場合、新しいサブスクリプションが作成され、メッセージを受信するには再度購読する必要があります。
  • ユーザーがデバイス設定でプッシュを再度有効にした場合、アプリを開いたときにサブスクリプションステータスがSubscribedに設定され、プッシュトークンが更新されます。
  • プッシュトークンが期限切れになった場合、ユーザーが同じデバイスでアプリを開いたときにサブスクリプションステータスと新しいプッシュトークンが更新されます。
変更の追跡:

Webプッシュサブスクリプション

Webプッシュサブスクリプションは、特定のデバイス、ブラウザ、ブラウザプロファイルに紐付けられます。Chromeデスクトップで購読したユーザーは、そのモバイルデバイスからWebサイトを購読して別のWebプッシュサブスクリプションを作成しない限り、Chromeモバイルでプッシュを受信しません。 新しいWebプッシュサブスクリプションは、次のシナリオで作成されます:
  • ユーザーがブラウザのシステムレベルのネイティブ権限プロンプトで「許可」をクリックしてWebサイトを購読します。これにより、一意のプッシュトークンとサブスクリプションIDが生成されます。
  • ユーザーがブラウザデータ(履歴、キャッシュ、Cookie、ローカルストレージ)をクリアしてサイトに再訪問します。これにより、新しい一意のサブスクリプションIDが作成されます。
WebプッシュサブスクリプションIDは変更されません。ただし、ユーザーがブラウザデータをクリアしてサイトに戻った場合、または別のブラウザ/ブラウザプロファイルで購読した場合、新しいサブスクリプションIDが作成されます。External IDが設定され、サブスクリプションがユーザーにリンクされていることを確認するために、ユーザーがサイトを開くたびに、またはサブスクリプション変更リスナー内でOneSignal.loginを呼び出してください。

Webプッシュサブスクリプションの更新

Webプッシュサブスクリプションのプロパティは、OneSignal Web SDKを使用して更新します。 タグ、言語、その他のいくつかのプロパティは、CSVインポート機能を介して更新できます。 WebプッシュサブスクリプションはREST APIを介して作成できません。ユーザーサブスクリプション APIで更新できますが、ほとんどのユースケースではWeb SDKをお勧めします。

購読解除と無効なプッシュトークンの処理

次の場合、Webプッシュサブスクリプションはプッシュ通知の受信を停止します:
  • ブラウザデータ(履歴、キャッシュ、Cookie、ローカルストレージ)をクリアした
  • ブラウザシステム設定でプッシュを無効にした
  • プッシュトークンが期限切れ
これらの場合、プッシュ通知を送信する際にサブスクリプションステータスがUnsubscribedに設定されます。詳細については、以下のプッシュサブスクリプションステータスはいつ更新されますか?を参照してください。
  • ブラウザデータをクリアした後にユーザーがサイトに戻った場合、新しいサブスクリプションが作成され、自動再購読が有効になっていれば、メッセージを受信するために自動的に再購読されます。
  • ブラウザ設定でユーザーがプッシュを再度有効にした場合、サイトに戻ったときにサブスクリプションステータスがSubscribedに設定されます。
  • プッシュトークンが期限切れになった場合、ユーザーがサイトに戻ったときにサブスクリプションステータスと新しいプッシュトークンが更新されます。
Chromiumは2025年10月にブログ記事を公開し、サイトへのエンゲージメントが低いユーザーに大量の通知を送信している場合にプッシュ権限が自動的に取り消される変更について告知しました。エンゲージメントスコアが低いと判断される閾値は、約30日間の非アクティブ状態とみられます。取り消された際、エンドユーザーはChromeから直接通知を受け取ります。
変更の追跡:

メールサブスクリプション

メールサブスクリプションはメールアドレスに基づいており、メール配信にのみ使用されます。これはタグの設定とは異なります。 メールサブスクリプションを作成する方法:
  1. SDKの addEmail メソッドまたはメールプロンプト - External IDを設定してサブスクリプションをユーザーにリンクするために、OneSignal.login を呼び出した後にこれらのメソッドを使用します。
  2. ユーザー作成APIまたはメール作成API
  3. ダッシュボードのCSVインポーターまたはメールアドレスを手動で追加
メールはアプリごとに一意です。同じメールを削除して再度追加すると、新しいサブスクリプションIDが作成されます。メールサブスクリプションを作成する際は、ユーザーにリンクするために external_id を含めることをお勧めします。

メールサブスクリプションの管理

ユーザーへのリンク メールサブスクリプションを作成する際は、ユーザーにリンクするために external_id を設定してください。
  • SDKを使用する場合、external_id を設定してメールサブスクリプションをユーザーにリンクするために、addEmail を呼び出す前に login メソッドを呼び出します。
  • CSVインポーターまたはREST APIを使用する場合、メールと一緒に external_id 識別子を設定します。
サブスクリプションステータス 新しく作成されたメールサブスクリプションは、特に指定がない限り、自動的にSubscribedに設定されます。 メールサブスクリプションは次の場合に購読解除になります:
  • メール送信時に、ユーザーが購読解除リンクを介してオプトアウトした
  • APIを介して enabledfalse に設定した
  • ダッシュボードのオプションボタンからサブスクリプションを購読解除した メールサブスクリプションは次の方法で再購読できます:
  • APIを介して enabledtrue に設定する
  • ダッシュボードのオプションボタンからサブスクリプションを購読する
ユーザーがメールの購読を解除した場合でも、購読解除のままにしておき、購読解除済みメールへの送信によって重要なメールを送信できます。

SMSサブスクリプション

SMSサブスクリプションは、E.164形式の電話番号(例:+14155551234)に紐付けられます。 SMSサブスクリプションを作成する方法:
  1. SDKの addSms メソッドまたはSMSプロンプト — External IDを設定してサブスクリプションをユーザーにリンクするために、まず OneSignal.login を呼び出します。
  2. ユーザー作成またはSMS作成 API
  3. ダッシュボードのCSVインポーター
電話番号はアプリごとに一意です。削除後に再度追加すると、新しいサブスクリプションIDが作成されます。SMSサブスクリプションを作成する際は、ユーザーにリンクするために external_id を含めてください。

SMSサブスクリプションの管理

ユーザーへのリンク SMSサブスクリプションを作成する際は、ユーザーにリンクするために external_id を設定してください。
  • SDKを使用する場合、external_id を設定してSMSサブスクリプションをユーザーにリンクするために、addSms を呼び出す前に login メソッドを呼び出します。
  • CSVインポーターまたはREST APIを使用する場合、電話番号と一緒に external_id 識別子を設定します。
サブスクリプションステータス 新しく作成されたSMSサブスクリプションは、特に指定がない限り、自動的にSubscribedに設定されます。 SMSサブスクリプションは次の場合に購読解除になります:
  • ユーザーが「STOP」またはその他のオプトアウトキーワードで返信した
  • APIを介して enabledfalse に設定した
  • ダッシュボードのオプションボタンからサブスクリプションを購読解除した
SMSサブスクリプションは次の場合に再購読できます:
  • ユーザーが「START」またはその他のオプトインキーワードで返信した
  • APIを介して enabledtrue に設定した
  • ダッシュボードのオプションボタンからサブスクリプションを再購読した
ユーザーの同意なしにSMSサブスクリプションを再購読させることは、通信事業者のコンプライアンス規則(TCPA、CTIA)に違反し、キャリアフィルタリングやアカウント停止につながる可能性があります。

サブスクリプションのインポートまたは移行

別のプロバイダーからプッシュトークン、メールアドレス、電話番号をインポートするには、次を使用します:

OneSignalへの移行

別のプロバイダーからプッシュトークン、メールアドレス、電話番号をインポートします。

サブスクリプションの削除

サブスクリプションは次の理由で削除できます:
  • データプライバシー
  • 非アクティブなレコードのクリーンアップ

ユーザーの削除

プライバシーやクリーンアップのためにサブスクリプションとユーザーデータを削除します。
無料プランでは、18か月以上アクティビティのないサブスクリプションは自動的に削除されます。

FAQ

プッシュサブスクリプションステータスはいつ更新されますか?

プッシュサブスクリプションステータスは2つのメカニズムを通じて更新されます: 1. ユーザーがアプリまたはサイトを開いたとき OneSignal SDKはプッシュトークンが有効かどうか、通知権限がまだ付与されているかどうかを確認し、サブスクリプションステータスをすぐに更新します。 例えば、ユーザーがデバイス設定でプッシュ通知を無効にしてアプリを再度開いた場合、SDKは変更を検出してサブスクリプションをUnsubscribedとしてすぐにマークします。 SDKのサブスクリプションオブザーバー(モバイル | Web)でこれらの変更をキャプチャして、自分のデータベースにステータスを同期できます。 2. プッシュ通知を送信したとき ユーザーがアプリをアンインストールしたり、ブラウザデータをクリアしたり、プッシュを無効にして二度と戻らない場合、OneSignalは通知を送信するまで変更を検出できません。プッシュサービス(FCM、APNs、HMS)がトークンを無効として報告し、OneSignalはサブスクリプションをUnsubscribedとしてマークします。 プッシュサービスは無効なトークンをすぐに拒否しないため、この検出には通常2回以上のメッセージが必要です:
送信何が起こるか
メッセージ1デバイスに配信されます。ユーザーはデバイス設定で購読解除するか、アプリをアンインストールします。
メッセージ2プッシュサービスはメッセージを受け付けますが、デバイスは受信しません。プッシュサービスがまだトークンを拒否していないため、OneSignalは「配信済み」と報告します。
メッセージ3プッシュサービスがトークンを拒否します。OneSignalはサブスクリプションをUnsubscribedとしてマークします。
メッセージ4以降OneSignalはこのサブスクリプションへの配信を試みません。
メッセージ送信時にリアルタイムで購読解除を検出するには、Event Streamsを使用してください。
全ユーザーへの送信を長期間行わない場合、購読解除が静かに蓄積され、送信を再開したときに大きなスパイクとして現れます。購読解除を段階的に検出するために、月に1〜2回は全ユーザーに送信してください。購読解除スパイクの詳細については、FCM期限切れトークンFAQを参照してください。
Appleは購読解除の報告を14日以上遅延させます。ユーザープライバシーを保護するため、Appleはアンインストールや権限取り消しをすぐに報告しません。ユーザーがプッシュを無効にした後にアプリを開いた場合、OneSignalはSDKを介してすぐに変更を検出します。ユーザーが二度とアプリを開かない場合、通知を送信してからAppleが無効なトークンを報告するまでに数週間かかる場合があります。詳細については、Appleフォーラムテクニカルノートを参照してください。ダッシュボードまたはAPIを使用して古いサブスクリプションを削除し、オーディエンスをクリーンに保ってください。

ユーザーがデバイス設定で通知をオフにし、アプリを二度と開かない場合、どうなりますか?

サブスクリプションはOneSignalでSubscribedとしてマークされたまま、そのデバイスに通知を送信するまで変更されません。2回以上の送信試行後、プッシュサービスがトークンを無効として報告し、OneSignalはサブスクリプションをUnsubscribedとしてマークします。詳細については、上記のプッシュサブスクリプションステータスはいつ更新されますか?を参照してください。

関連ページ

ユーザー

OneSignalのユーザーモデル、エイリアス、ユーザーとサブスクリプションの関係。

テストサブスクリプション

デバイスを見つけてテストサブスクリプションとしてマークし、テストを簡単に行います。

ユーザーの削除

プライバシーやクリーンアップのためにサブスクリプションとユーザーデータを削除します。

OneSignalへの移行

別のプロバイダーからプッシュトークン、メールアドレス、電話番号をインポートします。