> ## 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.

# WebプッシュFAQ

> OneSignal Webプッシュ通知のセットアップ、要件、ブラウザー互換性、ドメイン変更、開発者とWebサイトオーナー向けの一般的な問題のトラブルシューティングに関する完全なガイド。

## Webプッシュの要件

Webプッシュが機能するためには、Webサイトは次のすべてを満たす必要があります：

**必要なブラウザーAPI**

* [Notification API](https://developer.mozilla.org/en-US/docs/Web/API/Notifications_API)
* [Push API](https://developer.mozilla.org/en-US/docs/Web/API/Push_API)
* [Service Worker API](https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API)

**セキュリティと接続**

* ✅ HTTPSのみ（有効なSSL証明書を使用）
* ✅ OneSignalの[サービスワーカー](./onesignal-service-worker)がインストールされている
* ✅ ブラウザーが次に到達できる必要があります：
  * ブラウザープッシュサーバー（例：FCM、Mozilla）
  * `api.onesignal.com`

**ユーザー状態**

* ✅ ユーザーによって通知権限が付与されている
* ❌ シークレット/プライベート/ゲストモードではない
* ❌ サイトデータがクリアされていない（サブスクリプションを削除します）

<Warning>ブラウザーデータ（Cookie、サイトストレージ）をクリアすると、プッシュ通知からユーザーが自動的にサブスクライブ解除されます。</Warning>

### iOS/iPadOSの要件

iOSまたはiPadOSでプッシュを受信するには：

* iOS 16.4+またはiPadOS 16.4+
* サイトをホーム画面に追加し、そこから開く必要があります
* 必要なフィールドを含む有効な`manifest.json`ファイル
* Webアプリとして開いた後、ユーザーは通知権限を承認する必要があります

<Card title="iOS Webプッシュセットアップ" href="./web-push-for-ios" arrow={true}>
  iOS 16.4+を実行しているiPhoneとiPadでWebプッシュを有効にするためのApple固有の手順に従ってください。
</Card>

***

## ブラウザーとプラットフォームのサポート

### オペレーティングシステム別のブラウザー互換性

|                                       ブラウザー                                      | Windows PC |  macOS  | Android | iOS (iPhone, iPad) |
| :------------------------------------------------------------------------------: | :--------: | :-----: | :-----: | :----------------: |
|             [Chrome 50+](https://en.wikipedia.org/wiki/Google_Chrome)            |   **Yes**  | **Yes** | **Yes** |      **Yes** ¹     |
|               [Firefox 47+](https://en.wikipedia.org/wiki/Firefox)               |   **Yes**  | **Yes** | **Yes** |      **Yes** ¹     |
|        [Safari 10+](https://en.wikipedia.org/wiki/Safari_\(web_browser\))        |     No     | **Yes** |    No   |      **Yes** ¹     |
|       [Microsoft Edge 18+](https://en.wikipedia.org/wiki/Microsoft_Edge) ²       |   **Yes**  | **Yes** | **Yes** |      **Yes** ¹     |
|          [Opera](https://en.wikipedia.org/wiki/Opera_\(web_browser\)) ²          |   **Yes**  | **Yes** | **Yes** |      **Yes** ¹     |
| [Samsung Internet](https://en.wikipedia.org/wiki/Samsung_Internet_for_Android) ² |     No     |    No   | **Yes** |      **Yes** ¹     |
|             [Yandex](https://en.wikipedia.org/wiki/Yandex_Browser) ²             |   **Yes**  | **Yes** | **Yes** |      **Yes** ¹     |
|             [UC Browser](https://en.wikipedia.org/wiki/UC_Browser) ²             |   **Yes**  |    No   | **Yes** |      **Yes** ¹     |
|      [Internet Explorer](https://en.wikipedia.org/wiki/Internet_Explorer) ³      |     No     |    No   |    No   |         No         |
|              [DuckDuckGo](https://en.wikipedia.org/wiki/DuckDuckGo)              |     No     |    No   |    No   |         No         |

* ¹ iOSはWebアプリのインストールが必要です（上記の[iOS Webプッシュセットアップ](./web-push-for-ios)要件を参照）
* ² ChromiumベースのブラウザーはOneSignal分析で「Chrome」として表示されます
* ³ Internet Explorerは非推奨であり、更新を受け取りません

<Warning> シークレットモード、プライベートブラウジングモード、ゲストブラウザーモードは、どのプラットフォームでも**Webプッシュをサポートしていません**。</Warning>

***

## ドメインの変更と移行

### ブラウザーのオリジンポリシーについて

ブラウザーは、セキュリティ上の理由から、Webプッシュサブスクリプションを特定の[オリジン（ドメイン/サイトURL）](https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy)に結び付けます。**異なるオリジン間でサブスクライバーを転送することはできません** - これはブラウザーの制限であり、OneSignalの制限ではありません。

**異なるオリジンには次が含まれます：**

* HTTPとHTTPS（例：`http://mysite.com` → `https://mysite.com`）
* wwwとwwwなし（例：`www.mysite.com` vs `mysite.com`）
* 異なるドメイン/サブドメイン（例：`domain1.com` vs `domain2.com`または`sub1.domain.com` vs `sub2.domain.com`）

### 移行オプション

サイトのオリジンを変更する場合は、次のいずれかのアプローチを選択してください：

<Tabs>
  <Tab title="新しいOneSignalアプリ（推奨）">
    **最適な用途**：ほとんどのドメイン変更、特にクリーンな移行が必要な場合

    1. **新しいOneSignalアプリを作成** 新しいドメイン用
    2. **デュアル送信戦略**：古いアプリからの送信を続けますが、「起動URL」を新しいドメインに設定します
    3. **段階的な移行**：
       * 高頻度送信者（1日1回以上の通知）：2週間の移行期間
       * 中頻度送信者（週2回以上の通知）：2か月の移行期間
    4. **移行通知**：移行の開始時と終了時に「移転しました！新しいサイトにアクセスして最新情報を入手してください」のようなメッセージを1〜2回送信します

    <Warning> 両方のアプリから同じメッセージを送信すると、両方にサブスクライブしているユーザーに重複通知が作成されます。</Warning>
  </Tab>

  <Tab title="アプリを更新して古いサブスクライバーを削除">
    **最適な用途**：同じOneSignalアプリIDを保持する必要がある場合

    1. 次を使用して[Update an app](/reference/update-an-app) APIを使用します：
       * `name`：アプリ/サイト名
       * `chrome_web_origin`：新しいサイトURL
       * `chrome_web_default_notification_icon`：アイコン画像URL

    2. **古いサブスクライバーを削除**して重複を防ぎます：
       * セグメントを作成：「Device Type is Web Push」
       * [セグメント内のすべてのユーザーを削除](./delete-users)
  </Tab>
</Tabs>

### HTTPからHTTPSへのアップグレード

HTTPからHTTPSへのアップグレードは新しいオリジンを作成します。ブラウザーはHTTPSサイトをHTTPバージョンから完全に分離して扱うため、上記のドメイン移行手順に従ってください。

***

## 複数のサイトとサブドメイン

### 単一アプリの制限

ブラウザーの同一オリジンポリシーにより、次のような複数のオリジンに1つのOneSignalアプリを使用することは**できません**：

* `https://mysite.com`と`https://www.mysite.com`
* `https://main.com`と`https://shop.main.com`

### 複数のオリジンのソリューション

<Tabs>
  <Tab title="単一オリジン戦略">
    * メインドメインでのみユーザーをサブスクライブします
    * 他のオリジンからユーザーをメインドメインにリダイレクトしてサブスクリプションを行います
    * サブスクリプション後に元のページにリダイレクトします
  </Tab>

  <Tab title="個別のアプリ">
    * 各オリジンに個別のOneSignalアプリを作成します
    * 複数のサイトにサブスクライブしている場合、ユーザーが重複通知を受け取る可能性があることを受け入れます
  </Tab>
</Tabs>

***

### 言語サポートシナリオ

<Tabs>
  <Tab title="同じオリジン（推奨）">
    * `https://mysite.com/en/`または`https://mysite.com/es/`のようなURL
    * 単一のOneSignalアプリを使用
    * [多言語プロンプトガイド](./permission-requests#faq)に従います
    * [言語とローカライゼーション](./multi-language-messaging)を実装します
  </Tab>

  <Tab title="異なるオリジン">
    * `https://en.mysite.com`または`https://es.mysite.com`のようなURL
    * 各サブドメインに個別のOneSignalアプリが必要です
  </Tab>
</Tabs>

***

## 高度な構成

### 同じサイトに複数のOneSignalアプリ

* **推奨されません** - サブスクリプションの競合を引き起こします。
* **何が起こるか**：OneSignalは、最後に訪問したアプリIDにユーザーを自動的に再サブスクライブし、サブスクライバーがアプリ間で跳ね返り、多くのサブスクライブ解除されたデバイスが作成されます。
* **より良いアプローチ**：[データタグ](./add-user-data-tags)を使用して、単一のアプリ内でユーザーをセグメント化します。

### サブフォルダーサイト

Webプッシュはオリジンレベルで動作します。サブフォルダー内のサイト（例：`https://example.com/blog`）の場合は、セットアップにメインオリジン（`https://example.com`）を使用します。

### SDKファイルのセルフホスティング

**強く推奨されません**。ブラウザープッシュ仕様は頻繁に変更され、OneSignalは互換性を維持するためにファイルを即座に更新します。代わりに、WebプッシュSettings からOneSignalのCDN URLを使用してください。

### カスタムinitコード

カスタム`init`コードは[カスタムコードセットアップ](./web-push-custom-code-setup)でのみ機能します。

**通常のセットアップまたはWebサイトビルダーユーザー**：カスタムinitコードはOneSignal SDKによって無視されます。初期化を遅延させる必要がある場合は、[プライバシーメソッド](./web-sdk-reference#privacy)を使用してください。

***

## 開発とテスト

### ローカル環境テスト

完全なローカルテストセットアップについては、[Web SDKセットアップ > ローカルテスト](./web-sdk-setup#local-testing)を参照してください。

### サービスワーカーの統合

OneSignalは、既存のサービスワーカーとPWAと一緒に機能します。実装の詳細については、[複数のサービスワーカーの統合](./onesignal-service-worker)を参照してください。

***

## プッシュスパム

プッシュ通知は、広告、ユーザーへのスパム、または欺瞞的なキャンペーンに使用するように設計されていません。

アプリがスパム通知を送信していることが検出された場合、ブラウザーはユーザーに「スパム警告」通知を送信する可能性があります。

次のような通知の送信は避けてください：

* ユーザーに関連性がない
* 「広告」のような言葉を使用したり、アプリに関連しないページにリンクしたりする
* 信頼できるソースからのものではない（例：関連していないブランド）

<Warning>
  詳細については、[Chromeの機械学習で不要な通知と戦う](https://blog.chromium.org/2025/05/fighting-unwanted-notifications-with.html)を参照してください。
</Warning>

アプリがスパムとしてフラグ付けされている場合は、次のことができます：

* 通知コンテンツを確認し、スパムと見なされる可能性のあるものを削除します。これには次が含まれます：
  * タイトルまたは本文の「広告」または「Ad」という言葉
  * アプリに関連しないページへのリンク
  * 信頼できるソースからではないページへのリンク（例：関連していないブランド）
* 送信を続けて、さらなるレポートを監視します。

***

## トラブルシューティング

### 更新の展開タイミング

* **サービスワーカーファイル**：24時間のキャッシュ
* **Web SDK**：3日間のキャッシュ

重要な更新を展開する際は、それに応じて計画してください。

### macOS Chrome通知の問題

macOS Chromeユーザーの場合、**両方**で通知が有効になっていることを確認してください：

1. **Google Chrome**アプリ（Appleメニュー > 設定 > 通知）
2. **Google Chrome Helper**アプリ

両方が有効になっていない場合、通知は通知センターに表示されません。

### セットアップ後の次のステップ

1. **徹底的にテスト** サポートされているブラウザーとデバイス全体で
2. **適切なエラー処理を実装** 権限リクエスト用
3. **分析を設定** サブスクリプション率を監視するため
4. **通知戦略を計画** ユーザーの疲労を避けるため
5. **A/Bテストを検討** 権限リクエストのタイミングとメッセージング

### 一般的な移行の落とし穴

* **ブラウザーデータのクリア** ユーザーを自動的にサブスクライブ解除します
* **重複通知** デュアルアプリ移行中
* **iOSはWebアプリのインストールが必要** プッシュが機能する前に
* **プライベート/シークレットモード** プッシュ通知を決してサポートしません
* **サービスワーカーはアクセス可能である必要があります** サイトのルートまたは構成されたサブディレクトリで

***

## 次のステップ

* [Web SDKセットアップ](./web-sdk-setup)
* [Web SDKリファレンス](./web-sdk-reference)

***
