> ## Documentation Index
> Fetch the complete documentation index at: https://documentation.onesignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# サブスクリプション

> OneSignalでモバイルプッシュ、Webプッシュ、メール、SMSのサブスクリプションを管理します。プロパティ、ステータス、更新や移行の方法について説明します。

## 概要

**サブスクリプション**は、メールアドレス、電話番号、デバイスなど、ユーザーがメッセージを受信できる特定のチャネルを表します。OneSignalは4種類のサブスクリプションをサポートしています：

| サブスクリプションタイプ | 受信できるもの                         |
| ------------ | ------------------------------- |
| **Email**    | メールメッセージ                        |
| **SMS**      | SMS、MMS、RCSメッセージ                |
| **Web Push** | Webプッシュ通知                       |
| **Mobile**   | モバイルプッシュ通知、アプリ内メッセージ、ライブアクティビティ |

各ユーザーは複数のサブスクリプションを持つことができます。すべてのサブスクリプションでユーザーを識別するには、[External ID](./users#external-id)を使用します。

<Frame caption="OneSignalダッシュボード オーディエンス > サブスクリプションページ。External IDを介して単一のユーザーに関連付けられた複数のサブスクリプションを表示しています。">
  <img src="https://mintcdn.com/onesignal/ciRrThfP6xMpI7GY/images/dashboard/subscription-types.png?fit=max&auto=format&n=ciRrThfP6xMpI7GY&q=85&s=7b88e08aaeb18e979c4e52949359ae36" alt="Subscriptions page showing Email, SMS, Web Push, and Mobile subscriptions linked by External ID" width="3424" height="920" data-path="images/dashboard/subscription-types.png" />
</Frame>

上の画像で、「userA」は5つのサブスクリプションを持っています：

1. **Mobile**（iOS）iOSアプリをインストールした後に作成されます。`OneSignal.login` を呼び出してExternal IDを設定し、サブスクリプションをユーザーにリンクします。
2. **SMS** iOSアプリ内で電話番号が提供された後に作成されます。詳細については、以下の[SMSサブスクリプション](#sms-subscriptions)を参照してください。
3. **Web Push** Webサイトでプッシュを購読した後に作成されます。プッシュ通知を受信できます。
4. **Email** メールアドレスが提供された後に作成されます。メールメッセージの送信用。
5. **Mobile**（Android）Androidアプリをインストールした後に作成されます。プッシュ通知、アプリ内メッセージ、ライブアクティビティを受信できます。

<Note>
  ユーザーは最大20個のサブスクリプションを持つことができます。21個目が追加されると、OneSignalは最も古いサブスクリプション（最終セッションに基づく）からExternal IDを削除し、新しいOneSignal IDを割り当てます。これにより、非アクティブなサブスクリプション用に新しい匿名ユーザーが効果的に作成されます。

  ただし、OneSignalは少なくとも3つのメールと3つのSMSサブスクリプション（該当する場合）を保持することを保証します。

  詳細については[ユーザー](./users)を参照してください。
</Note>

<Frame>
  <iframe width="560" height="315" src="https://www.youtube.com/embed/yZM6zn7nLDw?si=oT7ncbhX0sNtmKML" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen />
</Frame>

***

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

各サブスクリプションには次のプロパティがあります：

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

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

一般的に、サブスクリプションはメッセージを受信できる（**Subscribed**）か、メッセージを受信できない（**Unsubscribed**）のいずれかです。詳細はチャネルによって異なります：

| ステータス                | モバイル                                                                                                                      | Web Push                                                                             | メール                                                                                                                                      | SMS                                                                       |
| -------------------- | ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------- |
| **Subscribed**       | ユーザーがプッシュ権限を付与しました。[iOS Provisional push](./ios-provisional-push-notifications)では、すべてのiOSサブスクリプションはSubscribedとして開始します。    | ユーザーがブラウザの権限プロンプトで「許可」をクリックしました。                                                     | メールアドレスが有効で、ユーザーが同意しています。                                                                                                                | 電話番号が有効で、ユーザーが同意しています。                                                    |
| **Unsubscribed**     | プッシュを受信できませんが、**アプリ内メッセージは受信できます**。[アンインストール・無効トークンの処理](#handling-uninstalls-unsubscribes--invalid-push-tokens)を参照してください。 | プッシュを受信できません。[購読解除・無効トークンの処理](#handling-unsubscribes--invalid-push-tokens)を参照してください。 | ユーザーが[購読解除リンク](./unsubscribe-links-email-subscriptions)でオプトアウトしました。トランザクションメールでは[上書き](./email-messaging#send-to-unsubscribed-users)できます。 | ユーザーが「STOP」またはその他の[オプトアウトキーワード](./sms-consent-keyword-management)で返信しました。 |
| **Never Subscribed** | ユーザーがプロンプトを受けたことがない、または権限を付与したことがありません。                                                                                   | ユーザーがプロンプトを受けたことがない、またはプロンプトをブロックしました。                                               | 該当なし                                                                                                                                     | 該当なし                                                                      |

<Info>
  APIでは、`invalid_identifier: true` は購読解除を意味します。詳細については `notification_types` を確認してください。
</Info>

***

### `notification_types`

サブスクリプションがメッセージを受信する能力を示し、失敗の理由も含まれます。フロントエンドSDKを介して自動的に更新されるか、APIを介して手動で更新されます。[ユーザー表示API](/reference/view-user)または[CSVエクスポート](/reference/csv-export)で表示できます。

<Accordion title="通知タイプの定義" icon="circle-chevron-down">
  `1` または正の数 = Subscribed。

  * サブスクリプションはこのチャネルでメッセージを受信できます。
  * ユーザーに代わってメッセージを有効にする場合、`enabled` プロパティと一緒に使用できます。プッシュサブスクリプションの場合、プッシュ通知を受信するには有効な `token` を設定する必要があります。詳細については、SDKセットアップドキュメントを参照してください。

  `0`、`-99` = Never Subscribed。

  * サブスクリプションはまだチャネルを購読していません。

  `-2` = Unsubscribed。

  * サブスクリプションはこのチャネルでメッセージを受信できません。
  * ユーザーに代わってメッセージをオフにする場合、`enabled` プロパティを `false` に設定して使用できます。メッセージ権限をオフにする場合の推奨値です。
  * ユーザーが購読解除すると自動的に設定されます。

  `-3`、`-5` = Android `Support Library Error`。

  アプリの[Android Support Library](https://developers.google.com/android/)を追加または更新してください。

  `-4`、`-8`、`-11`、`-12` = Android `Google Play Services Library Error`。

  * logcatを確認してください。[デバッグログの取得](./capturing-a-debug-log)を参照してください。
  * アプリの[Google Play Services Library](https://developers.google.com/android/)をアップグレードし、Google Play Servicesエラーについてアプリのlogcatを確認してください。[デバッグログの取得](./capturing-a-debug-log)を参照してください。

  `-6` = Android `Invalid Google Project Number`。

  * FCMv1 Sender IDが、この `token` が属する元のIDと一致しません。アプリのlogcatを確認してください。[デバッグログの取得](./capturing-a-debug-log)を参照してください。

  `-7`、`-9` = Android `Outdated Google Play Services App`

  * デバイス上のGoogle Play Servicesアプリを更新または有効にしてください。

  `-10` = Not Subscribed。

  * プッシュサブスクリプションがアプリをアンインストールしたか、デバイス設定で購読解除しました。
  * Webプッシュが通知をブロックし、すべてのデータとワーカーをクリアしました。

  `-13` = iOS `missing_push_capability`。

  * すべての手順が実装されていることを確認するために、SDKセットアップドキュメントを確認してください。[チャネルセットアップ](./channel-setup)を参照してください。

  `-14`、`-16`、`-17` = iOS `APNS Errors`。

  * デバイスがAPNSへの接続に問題があります。[iOSトラブルシューティング](./mobile-troubleshooting)ガイドと[デバッグログの取得](./capturing-a-debug-log)を確認してください。

  `-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トラブルシューティング](./troubleshooting-web-push)を参照してください。

  `-31` = REST APIを介して無効化されました。

  `-98` = SMSサブスクリプションがダブルオプトインを待っています。
</Accordion>

***

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

モバイルサブスクリプションは、iOS、Android、Huawei、またはAmazonデバイスを表し、以下をサポートします：

* プッシュ通知
* アプリ内メッセージ
* ライブアクティビティ

OneSignal SDKを使用してユーザーがアプリをインストールして開くと、自動的に作成されます。

<Note>
  各モバイルサブスクリプションは、作成されたデバイスとプッシュトークンに紐付けられます。アプリが同じデバイスでアンインストールおよび再インストールされた場合、新しいサブスクリプションが生成されます。

  ユーザーがアプリを開くたびに [`OneSignal.login`](./mobile-sdk-reference#login-external-id) を呼び出して、[External ID](./users#external-id)が設定され、サブスクリプションがユーザーにリンクされていることを確認してください。
</Note>

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

モバイルサブスクリプションのプロパティは、[OneSignalモバイルSDK](./mobile-sdk-reference)を使用して更新します。

* [プッシュ権限のプロンプト](./prompt-for-push-permissions)と[権限/サブスクリプション変更の監視](./mobile-sdk-reference#addobserver-push-subscription-changes)
* [ユーザーのログイン](./mobile-sdk-reference#login-external-id)でExternal IDとエイリアスを設定
* [タグ](./add-user-data-tags)の追加
* [言語](./multi-language-messaging)の設定

タグ、言語、その他のいくつかのプロパティは、[CSVインポート](./import)機能を介して更新できます。

モバイルサブスクリプションは、[ユーザー](/reference/create-user)と[サブスクリプション](/reference/create-subscription) APIを介して作成および更新することもできますが、ほとんどのユースケースではモバイルSDKをお勧めします。

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

次の場合、モバイルサブスクリプションはプッシュ通知の受信を停止します：

* アプリをアンインストールした
* デバイス設定でプッシュを無効にし、アプリを再度開かない
* [プッシュトークンが期限切れ](./fcm-expired-token-faq)

これらの場合、プッシュ通知を送信する際にサブスクリプションステータスが**Unsubscribed**に設定されます。詳細については、以下の[プッシュサブスクリプションステータスはいつ更新されますか？](#when-do-push-subscription-statuses-update)を参照してください。

* ユーザーが同じデバイスまたは新しいデバイスでアプリを再インストールした場合、新しいサブスクリプションが作成され、メッセージを受信するには再度購読する必要があります。
* ユーザーがデバイス設定でプッシュを再度有効にした場合、アプリを開いたときにサブスクリプションステータスが**Subscribed**に設定され、プッシュトークンが更新されます。
* プッシュトークンが期限切れになった場合、ユーザーが同じデバイスでアプリを開いたときにサブスクリプションステータスと新しいプッシュトークンが更新されます。

変更の追跡：

* [Event Streams](./event-streams) - プッシュ送信時に購読解除を検出
* [プッシュレポート](./push-notification-message-reports) - プッシュ送信時に購読解除を検出
* SDKの[サブスクリプション変更リスナー](./mobile-sdk-reference#addobserver-push-subscription-changes)を使用 - ユーザーがデバイス設定でプッシュを無効にしてからアプリを開いたときに購読解除を検出

***

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

Webプッシュサブスクリプションは、特定のデバイス、ブラウザ、ブラウザプロファイルに紐付けられます。Chromeデスクトップで購読したユーザーは、そのモバイルデバイスからWebサイトを購読して別のWebプッシュサブスクリプションを作成しない限り、Chromeモバイルでプッシュを受信しません。

新しいWebプッシュサブスクリプションは、次のシナリオで作成されます：

* ユーザーがブラウザのシステムレベルの[ネイティブ権限プロンプト](./permission-requests)で「許可」をクリックしてWebサイトを購読します。これにより、一意のプッシュトークンとサブスクリプションIDが生成されます。
* ユーザーがブラウザデータ（履歴、キャッシュ、Cookie、ローカルストレージ）をクリアしてサイトに再訪問します。これにより、新しい一意のサブスクリプションIDが作成されます。

<Note>
  WebプッシュサブスクリプションIDは変更されません。ただし、ユーザーがブラウザデータをクリアしてサイトに戻った場合、または別のブラウザ/ブラウザプロファイルで購読した場合、新しいサブスクリプションIDが作成されます。

  [External ID](./users#external-id)が設定され、サブスクリプションがユーザーにリンクされていることを確認するために、ユーザーがサイトを開くたびに、または[サブスクリプション変更リスナー](./web-sdk-reference#addeventlistener-push-subscription-changes)内で[`OneSignal.login`](./web-sdk-reference#login-external-id)を呼び出してください。
</Note>

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

Webプッシュサブスクリプションのプロパティは、[OneSignal Web SDK](./web-sdk-reference)を使用して更新します。

* [プッシュ権限のプロンプト](./permission-requests)と[権限/サブスクリプション変更の監視](./web-sdk-reference#addeventlistener-push-subscription-changes)
* [ユーザーのログイン](./web-sdk-reference#login-external-id)でExternal IDとエイリアスを設定
* [タグ](./add-user-data-tags)の追加
* [言語](./multi-language-messaging)の設定

タグ、言語、その他のいくつかのプロパティは、[CSVインポート](./import)機能を介して更新できます。

WebプッシュサブスクリプションはREST APIを介して作成できません。[ユーザー](/reference/update-user)と[サブスクリプション](/reference/update-subscription) APIで更新できますが、ほとんどのユースケースではWeb SDKをお勧めします。

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

次の場合、Webプッシュサブスクリプションはプッシュ通知の受信を停止します：

* ブラウザデータ（履歴、キャッシュ、Cookie、ローカルストレージ）をクリアした
* ブラウザシステム設定でプッシュを無効にした
* [プッシュトークンが期限切れ](./fcm-expired-token-faq)

これらの場合、プッシュ通知を送信する際にサブスクリプションステータスが**Unsubscribed**に設定されます。詳細については、以下の[プッシュサブスクリプションステータスはいつ更新されますか？](#when-do-push-subscription-statuses-update)を参照してください。

* ブラウザデータをクリアした後にユーザーがサイトに戻った場合、新しいサブスクリプションが作成され、[自動再購読が有効](./web-push-setup#auto-resubscribe)になっていれば、メッセージを受信するために自動的に再購読されます。
* ブラウザ設定でユーザーがプッシュを再度有効にした場合、サイトに戻ったときにサブスクリプションステータスが**Subscribed**に設定されます。
* プッシュトークンが期限切れになった場合、ユーザーがサイトに戻ったときにサブスクリプションステータスと新しいプッシュトークンが更新されます。

<Warning>
  Chromiumは2025年10月に[ブログ記事](https://blog.chromium.org/2025/10/automatic-notification-permission.html?m=1)を公開し、サイトへのエンゲージメントが低いユーザーに大量の通知を送信している場合に**プッシュ権限が自動的に取り消される**変更について告知しました。[エンゲージメントスコアが低い](https://www.chromium.org/developers/design-documents/site-engagement/)と判断される閾値は、約30日間の非アクティブ状態とみられます。取り消された際、エンドユーザーはChromeから直接通知を受け取ります。
</Warning>

変更の追跡：

* [Event Streams](./event-streams) - プッシュ送信時に購読解除を検出
* [プッシュレポート](./push-notification-message-reports) - プッシュ送信時に購読解除を検出
* SDKの[サブスクリプション変更リスナー](./web-sdk-reference#addeventlistener-push-subscription-changes)を使用 - ユーザーがプッシュを無効にしてからサイトに戻ったときに購読解除を検出

***

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

メールサブスクリプションはメールアドレスに基づいており、メール配信にのみ使用されます。これは[タグ](./add-user-data-tags)の設定とは異なります。

メールサブスクリプションを作成する方法：

1. SDKの `addEmail` メソッドまたは[メールプロンプト](./permission-requests) - External IDを設定してサブスクリプションをユーザーにリンクするために、`OneSignal.login` を呼び出した後にこれらのメソッドを使用します。
2. [ユーザー作成API](/reference/create-user)または[メール作成API](/reference/email)
3. ダッシュボードの[CSVインポーター](./import)またはメールアドレスを手動で追加

<Note>
  メールはアプリごとに一意です。同じメールを削除して再度追加すると、新しいサブスクリプションIDが作成されます。

  メールサブスクリプションを作成する際は、[ユーザー](./users)にリンクするために `external_id` を含めることをお勧めします。
</Note>

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

**ユーザーへのリンク**

メールサブスクリプションを作成する際は、[ユーザー](./users)にリンクするために `external_id` を設定してください。

* SDKを使用する場合、`external_id` を設定してメールサブスクリプションをユーザーにリンクするために、`addEmail` を呼び出す前に `login` メソッドを呼び出します。
* CSVインポーターまたはREST APIを使用する場合、メールと一緒に `external_id` 識別子を設定します。

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

新しく作成されたメールサブスクリプションは、特に指定がない限り、自動的に**Subscribed**に設定されます。

メールサブスクリプションは次の場合に購読解除になります：

* メール送信時に、ユーザーが[購読解除リンク](./unsubscribe-links-email-subscriptions)を介してオプトアウトした
* APIを介して `enabled` を `false` に設定した
* ダッシュボードのオプションボタンからサブスクリプションを購読解除した
  メールサブスクリプションは次の方法で再購読できます：
* APIを介して `enabled` を `true` に設定する
* ダッシュボードのオプションボタンからサブスクリプションを購読する

ユーザーがメールの購読を解除した場合でも、購読解除のままにしておき、[購読解除済みメールへの送信](./email-messaging#send-to-unsubscribed-users)によって重要なメールを送信できます。

***

## SMSサブスクリプション

SMSサブスクリプションは、[E.164形式の電話番号](https://en.wikipedia.org/wiki/E.164)（例：`+14155551234`）に紐付けられます。

SMSサブスクリプションを作成する方法：

1. SDKの `addSms` メソッドまたは[SMSプロンプト](./permission-requests) — External IDを設定してサブスクリプションをユーザーにリンクするために、まず `OneSignal.login` を呼び出します。
2. [ユーザー作成](/reference/create-user)または[SMS作成](/reference/sms) API
3. ダッシュボードの[CSVインポーター](./import)

<Note>
  電話番号はアプリごとに一意です。削除後に再度追加すると、新しいサブスクリプションIDが作成されます。

  SMSサブスクリプションを作成する際は、[ユーザー](./users)にリンクするために `external_id` を含めてください。
</Note>

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

**ユーザーへのリンク**

SMSサブスクリプションを作成する際は、[ユーザー](./users)にリンクするために `external_id` を設定してください。

* SDKを使用する場合、`external_id` を設定してSMSサブスクリプションをユーザーにリンクするために、`addSms` を呼び出す前に `login` メソッドを呼び出します。
* CSVインポーターまたはREST APIを使用する場合、電話番号と一緒に `external_id` 識別子を設定します。

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

新しく作成されたSMSサブスクリプションは、特に指定がない限り、自動的に**Subscribed**に設定されます。

SMSサブスクリプションは次の場合に購読解除になります：

* ユーザーが「STOP」またはその他の[オプトアウトキーワード](./sms-consent-keyword-management)で返信した
* APIを介して `enabled` を `false` に設定した
* ダッシュボードのオプションボタンからサブスクリプションを購読解除した

SMSサブスクリプションは次の場合に再購読できます：

* ユーザーが「START」またはその他の[オプトインキーワード](./sms-consent-keyword-management)で返信した
* APIを介して `enabled` を `true` に設定した
* ダッシュボードのオプションボタンからサブスクリプションを再購読した

<Warning>
  ユーザーの同意なしにSMSサブスクリプションを再購読させることは、通信事業者のコンプライアンス規則（TCPA、CTIA）に違反し、キャリアフィルタリングやアカウント停止につながる可能性があります。
</Warning>

***

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

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

* [ユーザー作成API](/reference/create-user)
* [サブスクリプション作成API](/reference/create-subscription)

<Card title="OneSignalへの移行" icon="arrow-right-to-bracket" href="./migrating-to-onesignal">
  別のプロバイダーからプッシュトークン、メールアドレス、電話番号をインポートします。
</Card>

***

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

サブスクリプションは次の理由で削除できます：

* データプライバシー
* 非アクティブなレコードのクリーンアップ

<Card title="ユーザーの削除" icon="trash" href="./delete-users">
  プライバシーやクリーンアップのためにサブスクリプションとユーザーデータを削除します。
</Card>

<Note>
  無料プランでは、18か月以上アクティビティのないサブスクリプションは自動的に削除されます。
</Note>

***

## FAQ

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

プッシュサブスクリプションステータスは2つのメカニズムを通じて更新されます：

**1. ユーザーがアプリまたはサイトを開いたとき**

OneSignal SDKはプッシュトークンが有効かどうか、通知権限がまだ付与されているかどうかを確認し、サブスクリプションステータスをすぐに更新します。

例えば、ユーザーがデバイス設定でプッシュ通知を無効にしてアプリを再度開いた場合、SDKは変更を検出してサブスクリプションを**Unsubscribed**としてすぐにマークします。

SDKのサブスクリプションオブザーバー（[モバイル](./mobile-sdk-reference#addobserver-push-subscription-changes) | [Web](./web-sdk-reference#addeventlistener-push-subscription-changes)）でこれらの変更をキャプチャして、自分のデータベースにステータスを同期できます。

**2. プッシュ通知を送信したとき**

ユーザーがアプリをアンインストールしたり、ブラウザデータをクリアしたり、プッシュを無効にして**二度と戻らない**場合、OneSignalは通知を送信するまで変更を検出できません。プッシュサービス（FCM、APNs、HMS）がトークンを無効として報告し、OneSignalはサブスクリプションを**Unsubscribed**としてマークします。

プッシュサービスは無効なトークンをすぐに拒否しないため、この検出には通常2回以上のメッセージが必要です：

| 送信       | 何が起こるか                                                                               |
| -------- | ------------------------------------------------------------------------------------ |
| メッセージ1   | デバイスに配信されます。ユーザーはデバイス設定で購読解除するか、アプリをアンインストールします。                                     |
| メッセージ2   | プッシュサービスはメッセージを受け付けますが、デバイスは受信しません。プッシュサービスがまだトークンを拒否していないため、OneSignalは「配信済み」と報告します。 |
| メッセージ3   | プッシュサービスがトークンを拒否します。OneSignalはサブスクリプションを**Unsubscribed**としてマークします。                   |
| メッセージ4以降 | OneSignalはこのサブスクリプションへの配信を試みません。                                                     |

メッセージ送信時にリアルタイムで購読解除を検出するには、[Event Streams](./event-streams)を使用してください。

<Note>
  全ユーザーへの送信を長期間行わない場合、購読解除が静かに蓄積され、送信を再開したときに大きなスパイクとして現れます。購読解除を段階的に検出するために、月に1〜2回は全ユーザーに送信してください。購読解除スパイクの詳細については、[FCM期限切れトークンFAQ](./fcm-expired-token-faq)を参照してください。
</Note>

<Warning>
  Appleは購読解除の報告を14日以上遅延させます。ユーザープライバシーを保護するため、Appleはアンインストールや権限取り消しをすぐに報告しません。ユーザーがプッシュを無効にした後にアプリを開いた場合、OneSignalはSDKを介してすぐに変更を検出します。ユーザーが二度とアプリを開かない場合、通知を送信してからAppleが無効なトークンを報告するまでに数週間かかる場合があります。

  詳細については、[Appleフォーラム](https://developer.apple.com/forums/thread/670868)と[テクニカルノート](https://developer.apple.com/library/archive/technotes/tn2265/_index.html#//apple_ref/doc/uid/DTS40010376-CH1-TNTAG34)を参照してください。ダッシュボードまたはAPIを使用して[古いサブスクリプションを削除](./delete-users)し、オーディエンスをクリーンに保ってください。
</Warning>

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

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

***

## 関連ページ

<Columns cols={2}>
  <Card title="ユーザー" icon="users" href="./users">
    OneSignalのユーザーモデル、エイリアス、ユーザーとサブスクリプションの関係。
  </Card>

  <Card title="テストサブスクリプション" icon="flask" href="./test-users">
    デバイスを見つけてテストサブスクリプションとしてマークし、テストを簡単に行います。
  </Card>

  <Card title="ユーザーの削除" icon="trash" href="./delete-users">
    プライバシーやクリーンアップのためにサブスクリプションとユーザーデータを削除します。
  </Card>

  <Card title="OneSignalへの移行" icon="arrow-right-to-bracket" href="./migrating-to-onesignal">
    別のプロバイダーからプッシュトークン、メールアドレス、電話番号をインポートします。
  </Card>
</Columns>
