Webプッシュの要件
Webプッシュが機能するためには、Webサイトは次のすべてを満たす必要があります: 必要なブラウザーAPI セキュリティと接続- ✅ HTTPSのみ(有効なSSL証明書を使用)
- ✅ OneSignalのサービスワーカーがインストールされている
- ✅ ブラウザーが次に到達できる必要があります:
- ブラウザープッシュサーバー(例:FCM、Mozilla)
api.onesignal.com
- ✅ ユーザーによって通知権限が付与されている
- ❌ シークレット/プライベート/ゲストモードではない
- ❌ サイトデータがクリアされていない(サブスクリプションを削除します)
ブラウザーデータ(Cookie、サイトストレージ)をクリアすると、プッシュ通知からユーザーが自動的にサブスクライブ解除されます。
iOS/iPadOSの要件
iOSまたはiPadOSでプッシュを受信するには:- iOS 16.4+またはiPadOS 16.4+
- サイトをホーム画面に追加し、そこから開く必要があります
- 必要なフィールドを含む有効な
manifest.jsonファイル - Webアプリとして開いた後、ユーザーは通知権限を承認する必要があります
iOS Webプッシュセットアップ
iOS 16.4+を実行しているiPhoneとiPadでWebプッシュを有効にするためのApple固有の手順に従ってください。
ブラウザーとプラットフォームのサポート
オペレーティングシステム別のブラウザー互換性
| ブラウザー | Windows PC | macOS | Android | iOS (iPhone, iPad) |
|---|---|---|---|---|
| Chrome 50+ | Yes | Yes | Yes | Yes ¹ |
| Firefox 47+ | Yes | Yes | Yes | Yes ¹ |
| Safari 10+ | No | Yes | No | Yes ¹ |
| Microsoft Edge 18+ ² | Yes | Yes | Yes | Yes ¹ |
| Opera ² | Yes | Yes | Yes | Yes ¹ |
| Samsung Internet ² | No | No | Yes | Yes ¹ |
| Yandex ² | Yes | Yes | Yes | Yes ¹ |
| UC Browser ² | Yes | No | Yes | Yes ¹ |
| Internet Explorer ³ | No | No | No | No |
| DuckDuckGo | No | No | No | No |
- ¹ iOSはWebアプリのインストールが必要です(上記のiOS Webプッシュセットアップ要件を参照)
- ² ChromiumベースのブラウザーはOneSignal分析で「Chrome」として表示されます
- ³ Internet Explorerは非推奨であり、更新を受け取りません
シークレットモード、プライベートブラウジングモード、ゲストブラウザーモードは、どのプラットフォームでもWebプッシュをサポートしていません。
ドメインの変更と移行
ブラウザーのオリジンポリシーについて
ブラウザーは、セキュリティ上の理由から、Webプッシュサブスクリプションを特定のオリジン(ドメイン/サイトURL)に結び付けます。異なるオリジン間でサブスクライバーを転送することはできません - これはブラウザーの制限であり、OneSignalの制限ではありません。 異なるオリジンには次が含まれます:- HTTPとHTTPS(例:
http://mysite.com→https://mysite.com) - wwwとwwwなし(例:
www.mysite.comvsmysite.com) - 異なるドメイン/サブドメイン(例:
domain1.comvsdomain2.comまたはsub1.domain.comvssub2.domain.com)
移行オプション
サイトのオリジンを変更する場合は、次のいずれかのアプローチを選択してください:- 新しいOneSignalアプリ(推奨)
- アプリを更新して古いサブスクライバーを削除
最適な用途:ほとんどのドメイン変更、特にクリーンな移行が必要な場合
- 新しいOneSignalアプリを作成 新しいドメイン用
- デュアル送信戦略:古いアプリからの送信を続けますが、「起動URL」を新しいドメインに設定します
- 段階的な移行:
- 高頻度送信者(1日1回以上の通知):2週間の移行期間
- 中頻度送信者(週2回以上の通知):2か月の移行期間
- 移行通知:移行の開始時と終了時に「移転しました!新しいサイトにアクセスして最新情報を入手してください」のようなメッセージを1〜2回送信します
両方のアプリから同じメッセージを送信すると、両方にサブスクライブしているユーザーに重複通知が作成されます。
HTTPからHTTPSへのアップグレード
HTTPからHTTPSへのアップグレードは新しいオリジンを作成します。ブラウザーはHTTPSサイトをHTTPバージョンから完全に分離して扱うため、上記のドメイン移行手順に従ってください。複数のサイトとサブドメイン
単一アプリの制限
ブラウザーの同一オリジンポリシーにより、次のような複数のオリジンに1つのOneSignalアプリを使用することはできません:https://mysite.comとhttps://www.mysite.comhttps://main.comとhttps://shop.main.com
複数のオリジンのソリューション
- 単一オリジン戦略
- 個別のアプリ
- メインドメインでのみユーザーをサブスクライブします
- 他のオリジンからユーザーをメインドメインにリダイレクトしてサブスクリプションを行います
- サブスクリプション後に元のページにリダイレクトします
言語サポートシナリオ
- 同じオリジン(推奨)
- 異なるオリジン
https://mysite.com/en/またはhttps://mysite.com/es/のようなURL- 単一のOneSignalアプリを使用
- 多言語プロンプトガイドに従います
- 言語とローカライゼーションを実装します
高度な構成
同じサイトに複数のOneSignalアプリ
- 推奨されません - サブスクリプションの競合を引き起こします。
- 何が起こるか:OneSignalは、最後に訪問したアプリIDにユーザーを自動的に再サブスクライブし、サブスクライバーがアプリ間で跳ね返り、多くのサブスクライブ解除されたデバイスが作成されます。
- より良いアプローチ:データタグを使用して、単一のアプリ内でユーザーをセグメント化します。
サブフォルダーサイト
Webプッシュはオリジンレベルで動作します。サブフォルダー内のサイト(例:https://example.com/blog)の場合は、セットアップにメインオリジン(https://example.com)を使用します。
SDKファイルのセルフホスティング
強く推奨されません。ブラウザープッシュ仕様は頻繁に変更され、OneSignalは互換性を維持するためにファイルを即座に更新します。代わりに、WebプッシュSettings からOneSignalのCDN URLを使用してください。カスタムinitコード
カスタムinitコードはカスタムコードセットアップでのみ機能します。
通常のセットアップまたはWebサイトビルダーユーザー:カスタムinitコードはOneSignal SDKによって無視されます。初期化を遅延させる必要がある場合は、プライバシーメソッドを使用してください。
開発とテスト
ローカル環境テスト
完全なローカルテストセットアップについては、Web SDKセットアップ > ローカルテストを参照してください。サービスワーカーの統合
OneSignalは、既存のサービスワーカーとPWAと一緒に機能します。実装の詳細については、複数のサービスワーカーの統合を参照してください。プッシュスパム
プッシュ通知は、広告、ユーザーへのスパム、または欺瞞的なキャンペーンに使用するように設計されていません。 アプリがスパム通知を送信していることが検出された場合、ブラウザーはユーザーに「スパム警告」通知を送信する可能性があります。 次のような通知の送信は避けてください:- ユーザーに関連性がない
- 「広告」のような言葉を使用したり、アプリに関連しないページにリンクしたりする
- 信頼できるソースからのものではない(例:関連していないブランド)
詳細については、Chromeの機械学習で不要な通知と戦うを参照してください。
- 通知コンテンツを確認し、スパムと見なされる可能性のあるものを削除します。これには次が含まれます:
- タイトルまたは本文の「広告」または「Ad」という言葉
- アプリに関連しないページへのリンク
- 信頼できるソースからではないページへのリンク(例:関連していないブランド)
- 送信を続けて、さらなるレポートを監視します。
トラブルシューティング
更新の展開タイミング
- サービスワーカーファイル:24時間のキャッシュ
- Web SDK:3日間のキャッシュ
macOS Chrome通知の問題
macOS Chromeユーザーの場合、両方で通知が有効になっていることを確認してください:- Google Chromeアプリ(Appleメニュー > 設定 > 通知)
- Google Chrome Helperアプリ
セットアップ後の次のステップ
- 徹底的にテスト サポートされているブラウザーとデバイス全体で
- 適切なエラー処理を実装 権限リクエスト用
- 分析を設定 サブスクリプション率を監視するため
- 通知戦略を計画 ユーザーの疲労を避けるため
- A/Bテストを検討 権限リクエストのタイミングとメッセージング
一般的な移行の落とし穴
- ブラウザーデータのクリア ユーザーを自動的にサブスクライブ解除します
- 重複通知 デュアルアプリ移行中
- iOSはWebアプリのインストールが必要 プッシュが機能する前に
- プライベート/シークレットモード プッシュ通知を決してサポートしません
- サービスワーカーはアクセス可能である必要があります サイトのルートまたは構成されたサブディレクトリで