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

- 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)のいずれかです。詳細はチャネルによって異なります:| ステータス | モバイル | 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。- 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形式の電話番号(例:+14155551234)に紐付けられます。
SMSサブスクリプションを作成する方法:
- SDKの
addSmsメソッドまたはSMSプロンプト — External IDを設定してサブスクリプションをユーザーにリンクするために、まずOneSignal.loginを呼び出します。 - ユーザー作成またはSMS作成 API
- ダッシュボードのCSVインポーター
電話番号はアプリごとに一意です。削除後に再度追加すると、新しいサブスクリプションIDが作成されます。SMSサブスクリプションを作成する際は、ユーザーにリンクするために
external_id を含めてください。SMSサブスクリプションの管理
ユーザーへのリンク SMSサブスクリプションを作成する際は、ユーザーにリンクするためにexternal_id を設定してください。
- SDKを使用する場合、
external_idを設定してSMSサブスクリプションをユーザーにリンクするために、addSmsを呼び出す前にloginメソッドを呼び出します。 - CSVインポーターまたはREST APIを使用する場合、電話番号と一緒に
external_id識別子を設定します。
- ユーザーが「STOP」またはその他のオプトアウトキーワードで返信した
- APIを介して
enabledをfalseに設定した - ダッシュボードのオプションボタンからサブスクリプションを購読解除した
- ユーザーが「START」またはその他のオプトインキーワードで返信した
- APIを介して
enabledをtrueに設定した - ダッシュボードのオプションボタンからサブスクリプションを再購読した
サブスクリプションのインポートまたは移行
別のプロバイダーからプッシュトークン、メールアドレス、電話番号をインポートするには、次を使用します: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はこのサブスクリプションへの配信を試みません。 |
全ユーザーへの送信を長期間行わない場合、購読解除が静かに蓄積され、送信を再開したときに大きなスパイクとして現れます。購読解除を段階的に検出するために、月に1〜2回は全ユーザーに送信してください。購読解除スパイクの詳細については、FCM期限切れトークンFAQを参照してください。
ユーザーがデバイス設定で通知をオフにし、アプリを二度と開かない場合、どうなりますか?
サブスクリプションはOneSignalでSubscribedとしてマークされたまま、そのデバイスに通知を送信するまで変更されません。2回以上の送信試行後、プッシュサービスがトークンを無効として報告し、OneSignalはサブスクリプションをUnsubscribedとしてマークします。詳細については、上記のプッシュサブスクリプションステータスはいつ更新されますか?を参照してください。関連ページ
ユーザー
OneSignalのユーザーモデル、エイリアス、ユーザーとサブスクリプションの関係。
テストサブスクリプション
デバイスを見つけてテストサブスクリプションとしてマークし、テストを簡単に行います。
ユーザーの削除
プライバシーやクリーンアップのためにサブスクリプションとユーザーデータを削除します。
OneSignalへの移行
別のプロバイダーからプッシュトークン、メールアドレス、電話番号をインポートします。