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

概要

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

OneSignalダッシュボード オーディエンス > サブスクリプションページ。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)のいずれかです。ただし、いくつか例外があります: モバイルサブスクリプション
  • Subscribed:ユーザーがプッシュ通知を受信する許可を付与しました。
    • iOS Provisional pushが有効な場合、すべてのiOSモバイルサブスクリプションは、ユーザーによって無効化されるまでSubscribedになります。
  • Unsubscribed:サブスクリプションはプッシュ通知を受信できませんが、アプリ内メッセージは受信できます。
  • Never Subscribed – ユーザーが許可を付与しませんでした(購読解除と同じ)。
Webサブスクリプション
  • Subscribed:ユーザーがプッシュ通知を受信する許可を付与しました。
  • Unsubscribed:サブスクリプションはプッシュ通知を受信できません。
メールサブスクリプション
  • Subscribed:ユーザーがメールメッセージを受信することに同意し、メールアドレスが有効です。
  • Unsubscribed:ユーザーがメールの受信をオプトアウトしましたが、必要に応じて上書きできます。
SMSサブスクリプション
  • Subscribed:ユーザーがSMSメッセージを受信することに同意し、電話番号が有効です。
  • Unsubscribed:ユーザーが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-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に設定されます。
  • プッシュトークンが期限切れになった場合、ユーザーがサイトに戻ったときにサブスクリプションステータスと新しいプッシュトークンが更新されます。
変更の追跡:

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

メールサブスクリプションはメールアドレスに基づいており、メール配信にのみ使用されます。これはタグの設定とは異なります。 メールサブスクリプションを作成する方法:
  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形式の電話番号に紐付けられます。 作成方法:
  1. SDKの addSms またはSMSプロンプト - External IDを設定してサブスクリプションをユーザーにリンクするために、OneSignal.login を呼び出した後にこれらのメソッドを使用します。
  2. ユーザー作成またはSMS作成 API
  3. CSVインポーター
電話番号はアプリごとに一意です。削除後に再度追加すると、新しいサブスクリプションIDが作成されます。SMSサブスクリプションを作成する際は、ユーザーにリンクするために external_id を含めることをお勧めします。

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

  • ユーザーが「STOP」またはその他のSMS同意キーワードで返信すると購読解除されます
    • ユーザーは「START」またはその他のSMS同意キーワードで返信して再購読することもできます
  • APIの enabled プロパティを介してサブスクリプションを更新

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

別のプロバイダーからプッシュトークン、メールアドレス、電話番号をインポートするには、次を使用します:
詳細についてはOneSignalへの移行を参照してください。

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

サブスクリプションは次の理由で削除できます:
  • データプライバシー
  • 非アクティブなレコードのクリーンアップ
詳細についてはユーザーの削除を参照してください。
無料プランでは、18か月以上アクティビティのないサブスクリプションは自動的に削除されます。

FAQ

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

プッシュサブスクリプションステータスは次の場合に更新されます:
  1. ユーザーがアプリを開いたとき、OneSignal SDKはプッシュトークンが有効かどうか、通知権限が付与されているかどうかを確認し、それに応じてサブスクリプションステータスを更新します。
  • SDKサブスクリプションオブザーバーメソッドでこのイベントをキャプチャし、データベースに送信できます。
  1. サブスクリプションに2回以上通知を送信した後。メッセージ送信時に購読解除を検出するには、Event Streamsを使用します。
例:
  • メッセージ1:配信済み。ユーザーはデバイスで受信し、その後デバイス設定で購読解除します。
  • メッセージ2:配信済み(ただしデバイスは受信しません)。
  • メッセージ3:失敗(購読解除としてマーク)
  • メッセージ4:サブスクリプションには送信されません。
ユーザープライバシーを保護するため、Appleは購読解除/アンインストールを報告する前に遅延(通常14日以上)を導入しました。詳細については、Appleフォーラムおよびテクニカルノートを参照してください。デバイスが購読解除してアプリを開いた場合、OneSignalはこの購読解除イベントをすぐに検出し、SDKを介してレコードを更新します。ただし、デバイスがアプリをアンインストールした場合、または購読解除してアプリを開かない場合、Appleが購読解除イベントを報告するまでに数週間かかることがあります。ダッシュボードまたはAPIを使用して古いサブスクリプションを削除してください。

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

ユーザーがデバイス設定で通知をオフにすると、そのデバイスでプッシュ通知を受信できなくなります。 デバイスに通知を送信した後、購読解除としてマークされます。詳細については、プッシュサブスクリプションステータスはいつ更新されますか?を参照してください。