概要
このガイドでは、ダッシュボードの設定からSDKのインストールまで、サイトにOneSignal Webプッシュ通知を追加する手順を説明します。OneSignalはChrome、Firefox、Edge、Safari、およびその他の主要なブラウザーをサポートしています。要件
- HTTPSウェブサイト:WebプッシュはHTTPまたはシークレット/プライベートモードでは機能しません。
- サーバーアクセス:サービスワーカーファイルをサイトにアップロードする必要があります。
- 単一オリジン:Webプッシュは同一オリジンポリシーに従います。複数のオリジン(ドメイン/サブドメイン)がある場合は、複数のOneSignalアプリ(オリジンごとに1つ)が必要になります。このブラウザーの制限に準拠するには、次のいずれかを実行できます:
- サブスクリプションのために単一のオリジンにトラフィックをリダイレクトする。
- オリジンごとに複数のOneSignalアプリを作成する。
チームがすでにOneSignalでアカウントを作成している場合は、管理者ロールとして招待してもらうことで、アプリをセットアップできます。それ以外の場合は、onesignal.comで無料アカウントにサインアップして開始してください!
OneSignalアプリとプラットフォームの構成
OneSignalダッシュボードで:- Settings > Push & In-App > Webに移動します。

通常のサイト(推奨)
追加のコーディングなしで、OneSignalダッシュボードから直接プロンプトと設定を管理します。
WordPress
公式プラグインを使用したWordPressを使用している場合に必要です。
カスタムコード
プロンプトとSDK構成を完全に制御する必要がある開発者向け。
サイトのセットアップ
サイトの詳細を追加します:- サイト名:サイトの名前とデフォルトの通知タイトル。
- サイトURL:サイトのURL。詳細については、サイトURLを参照してください。
- 自動再サブスクライブ:これを有効にすると、ブラウザーデータをクリアしたユーザーがサイトに戻ったときに自動的に再サブスクライブされます(新しい権限プロンプトは不要)
- デフォルトアイコンURL:通知とプロンプトに表示される正方形の256x256pxのPNGまたはJPG画像をアップロードします。設定されていない場合は、デフォルトのアイコンとしてベルを使用します。

サイトURL
サイトの正確なオリジンを入力します。例:https://yourdomain.com。サイトがそのように構成されていない場合は、www.の使用を避けてください。
複数のオリジンがある場合:
- 単一のオリジンにリダイレクトします。
- または、オリジンごとに1つのOneSignalアプリをセットアップします。
ローカルテスト
Web SDKはlocalhost環境でテストできます。localhostでテストする場合は、本番アプリとは別のOneSignalアプリをセットアップすることをお勧めします。Localhost構成
Localhost構成
SITE URLをlocalhost環境のURLと正確に一致するように設定します。一般的なlocalhost URLである必要があります。例:
OneSignal
localhostサイトでOneSignalを初期化する際、OneSignal
http://localhosthttps://localhost:3000http://127.0.0.1https://127.0.0.1:5000
localhostがHTTPを使用している場合は、Treat HTTP localhost as HTTPS for testingを選択します。Google Chromeは
http://localhostとhttp://127.0.0.1をセキュアオリジンとして扱い、HTTPでもHTTPS統合を許可します。これが、HTTPS localhostで他の非標準オリジンをテストできない理由です。
OneSignal initオプションにallowLocalhostAsSecureOriginを追加
localhostサイトでOneSignalを初期化する際、OneSignal initオプションにallowLocalhostAsSecureOrigin: true,を追加します。さらに、自己署名証明書を使用したHTTPS上のlocalhostをテストしている場合、テスト用に無効な証明書を無視するようChromeに要求する必要がある場合があります: --allow-insecure-localhost。FirefoxとSafariは、セキュリティ証明書の例外を追加するための組み込みメカニズムを提供します。権限プロンプト
通常のサイトセットアップでは、あなたまたはチームメンバーがOneSignalダッシュボードを介して、いつでも権限プロンプトを追加、削除、更新できます。Web権限プロンプト
ブラウザーの権限ダイアログがユーザーに表示されるタイミングと方法を設定します。
ウェルカム通知(オプション)
ユーザーがプッシュ通知にサブスクライブしたときに送信されるウェルカム通知を設定することもできます。詳細設定
OneSignalダッシュボードで構成可能な追加機能。Webhook
Web SDKは、特定のWebプッシュイベントを選択したURLにPOSTする機能を提供します。
WebプッシュWebhookはイベントWebhookとは別の実装であり、互換性がありません。
Webプッシュwebhook
WebプッシュイベントをPOSTリクエスト経由でサーバーに送信します。
サービスワーカー
Webプッシュ構成の次のページで、OneSignalSDKWorker.jsサービスワーカーファイルが提供されます。
Web SDKは、デフォルトでサイトのルートでこのファイルを探します。サービスワーカーファイルの場所、名前、スコープを変更したい場合は、ここでこれらの設定を更新できます。
- Path to service worker filesは、これらのファイルを配置するディレクトリへのパスです。
- Main and Updater service worker filenamesは、
OneSignalSDKWorker.jsのままにするか、このファイルの名前を変更したい場合に使用できます。.jsファイル拡張子を使用する必要があります。 - Service worker registration scopeは、このファイルが機能できるページです。プッシュ通知の場合、これは重要ではなく、サービスワーカーファイルにさらに機能を追加したい場合のために元々設計されました。これを場所と同じパスに設定する必要があります。

https://yourdomain.com/push/onesignal/OneSignalSDKWorker.jsで公開アクセス可能であることを確認する必要があります
OneSignalサービスワーカー
高度なサービスワーカー設定、カスタム統合、および他のプロバイダーからの移行。
クリック動作
通知をクリックしたときに設定したURLにユーザーがどのようにナビゲートするかを制御します。 ユーザーがいずれのタブでもサイトを開いていない場合、ブラウザーは新しいタブを開き、通知のURLに移動します。ユーザーがすでにサイトを開いている場合、動作は選択した設定によって異なります:| 設定 | 一致する対象 | アクション |
|---|---|---|
| Exact Navigate(デフォルト) | 完全一致URL(例:example.com/product) | 一致するタブで通知のURLに移動 |
| Origin Navigate | オリジン(例:example.com) | 一致するタブで通知のURLに移動 |
| Exact Focus | 完全一致URL | ページを更新せずに一致するタブにフォーカス |
| Origin Focus | オリジン | ページを更新せずに一致するタブにフォーカス |
永続性
デフォルトのWebプッシュ動作は、通知センターに移動される前に約5秒間デバイスにポップアップ表示され、オペレーティングシステムによって削除される前に約1週間そこに保持されます。 一部のデバイスとChromeおよびEdgeのバージョンでは、画面上で通知をより長く持続させることができます。これは、ユーザーが操作するまで通知が画面上に留まることを意味します。これはユーザーを苛立たせる可能性があり、推奨されません。 また、永続性を有効にすると、文字数が減少し、画像やボタンの表示方法に影響を与えることで、サブスクライバーへの通知の表示方法に影響します。 変更すると、更新された設定でサイトにアクセスするサブスクライバーに対してのみ有効になります。これらのオプションの変更が表示されない場合は、待つ必要がありますSafari証明書(オプション)
OneSignalは、Safariブラウザーで動作するために必要な証明書を追加費用なしで自動的に提供します。すでに独自のSafari Webプッシュ証明書をお持ちの場合は、このオプションを切り替えてSafari Web .p12 Push Certificateとパスワードをアップロードします。

サービスワーカーファイルのアップロード
OneSignalSDKWorker.jsサービスワーカーファイルをサイトに追加します。OneSignalダッシュボードからダウンロードするか、GitHubからダウンロードしてください。

場所を確認
ファイルが詳細設定 > サービスワーカーで設定されたのと同じPath to service worker filesに配置されていることを確認してください。これらの設定を更新していない場合は、ファイルをルートに配置する必要があります。例:
https://yourdomain.com/OneSignalSDKWorker.jshttps://yourdomain.com/some-subdirectory/OneSignalSDKWorker.js
オリジンで公開アクセス可能である必要があります
OneSignalSDKWorker.jsファイルは、オリジンで公開アクセス可能で利用可能である必要があります。CDN経由でホストしたり、リダイレクトで別のオリジンに配置したりすることはできません。ファイルのURLにアクセスすると、コードが表示されるはずです。OneSignalサービスワーカー
高度な設定および他のWebプッシュプロバイダーからの移行。
サイトにコードを追加
以下のJavaScript SDKコードはあらゆるサイトで機能します。サイトがAngular、React JS、またはVue JSで構築されている場合は、これらのリンクに従ってください。 JavaScript SDKを使用してサイトでOneSignalを初期化するには、提供されたコードをWebサイトの<head>タグにコピー/ペーストします。OneSignalダッシュボードでは、アプリIDがあらかじめ入力された同じスニペットが提供されます。
iOS Webプッシュサポート
Appleは、iOS 16.4+を実行しているiPhoneとiPadでWebプッシュ通知のサポートを開始しました。サポートされているブラウザーでアクセスするだけでWebプッシュが「機能する」Androidデバイスとは異なり、Appleはmanifest.jsonファイルやユーザーがサイトをホーム画面に追加するアクションなど、いくつかの追加要件を追加しました。
iOS Webプッシュセットアップ
必要な
manifest.jsonファイルを追加し、ユーザーにサイトをホーム画面に追加するように案内します。OneSignal SDK統合のテスト
このガイドでは、プッシュ通知とサブスクリプション登録をテストして、OneSignal SDK統合が正しく機能していることを確認する方法を説明します。Webプッシュサブスクリプションを確認
テストデバイスでサイトを起動します。
- テスト中は、Chrome、Firefox、Edge、またはSafariを使用してください。
- **シークレットモードやプライベートブラウジングモードは使用しないでください。**これらのモードでは、ユーザーはプッシュ通知にサブスクライブできません。
- 許可プロンプトの設定に基づいてプロンプトが表示されるはずです。
- プッシュ通知にサブスクライブするには、ネイティブプロンプトでAllowをクリックします。

OneSignalダッシュボードを確認
- Audience > Subscriptionsに移動します。
- ステータスがSubscribedの新しいエントリが表示されるはずです。

Webプッシュサブスクリプションの作成に成功しました。
Webプッシュサブスクリプションは、ユーザーがサイトでプッシュ通知に初めてサブスクライブしたときに作成されます。
テストサブスクリプションをセットアップ
テストサブスクリプションは、メッセージを送信する前にプッシュ通知をテストするのに役立ちます。Test Subscriptionsに追加します。
ダッシュボードで、サブスクリプションの横にある**Options(3つのドット)**ボタンをクリックし、Add to Test Subscriptionsを選択します。

API経由でテストプッシュを送信
App API KeyとApp IDを取得します。
OneSignalダッシュボードで、**Settings > Keys & IDs**に移動します。
提供されたコードを更新します。
以下のコードの
YOUR_APP_API_KEYとYOUR_APP_IDを実際のキーに置き換えます。このコードは、先ほど作成したTest Usersセグメントを使用します。Confirmed Deliveryを確認します。
ダッシュボードでDelivery > Sent Messagesに移動し、メッセージをクリックして統計を表示します。confirmed統計が表示されるはずです。これはデバイスがプッシュを受信したことを意味します。
SafariはConfirmed Deliveryをサポートしていません。
プッシュ通知メッセージレポート
プッシュ通知の配信、クリック、コンバージョン統計を表示します。
API経由でセグメントに通知を送信することに成功しました。
support@onesignal.comにご連絡ください:
- APIリクエストとレスポンスを
.txtファイルにコピー&ペースト - サブスクリプションID
- OneSignalコードを含むウェブサイトURL
ユーザー識別
前のセクションではウェブプッシュサブスクリプションの作成方法を説明しました。このセクションでは、OneSignal SDKを使用してすべてのサブスクリプション(プッシュ、メール、SMSを含む)にわたるユーザーの識別に拡張します。プラットフォーム間でユーザーを統合しエンゲージするために、External ID、タグ、マルチチャネルサブスクリプション、プライバシー、イベントトラッキングについて説明します。External IDを割り当て
External IDを使用して、バックエンドのユーザー識別子を使用して、デバイス、メールアドレス、電話番号間でユーザーを一貫して識別します。これにより、チャネルとサードパーティシステム間でメッセージングが統一されたままになります(特に統合に重要)。 SDKのloginメソッドを使用して、アプリによってユーザーが識別されるたびにExternal IDを設定します。
OneSignalは、サブスクリプション(Subscription ID)とユーザー(OneSignal ID)に対して一意の読み取り専用IDを生成します。ユーザーが異なるデバイスでアプリをダウンロードしたり、ウェブサイトにサブスクライブしたり、アプリ外でメールアドレスや電話番号を提供したりすると、新しいサブスクリプションが作成されます。すべてのサブスクリプションにわたってユーザーを識別するために、SDKを介してExternal IDを設定することを強くお勧めします。作成方法に関係なく。
データタグを追加
タグは、ユーザープロパティ(username、role、設定など)とイベント(purchase_date、game_level、ユーザーインタラクションなど)を保存するために使用できる文字列データのキーと値のペアです。タグは、高度なメッセージパーソナライゼーションとセグメンテーションを強化し、より高度なユースケースを可能にします。
アプリでイベントが発生したときに、SDKのaddTagおよびaddTagsメソッドを使用してタグを設定します。
この例では、ユーザーはレベル6に到達し、current_levelというタグで識別され、値は6に設定されます。



メールおよび/またはSMSサブスクリプションを追加
OneSignal SDKはユーザーがオプトインすると自動的にウェブプッシュサブスクリプションを作成します。対応するサブスクリプションを作成することで、メールとSMSチャネルを通じてユーザーにリーチすることもできます。addEmailメソッドを使用してメールサブスクリプションを作成します。addSmsメソッドを使用してSMSサブスクリプションを作成します。

マルチチャネルコミュニケーションのベストプラクティス
- メールまたはSMSサブスクリプションを追加する前に、明示的な同意を得てください。
- 各コミュニケーションチャネルの利点をユーザーに説明してください。
- ユーザーが好むチャネルを選択できるように、チャネルの設定を提供してください。
プライバシーとユーザー同意
OneSignalがユーザーデータを収集するタイミングを制御するには、SDKの同意ゲーティングメソッドを使用します:setConsentRequired(true):同意が与えられるまでデータ収集を防ぎます。setConsentGiven(true):同意が付与されるとデータ収集を有効にします。
プッシュ、ユーザー、アプリ内イベントをリッスン
SDKリスナーを使用して、ユーザーのアクションと状態の変化に反応します。 SDKは、フックできるいくつかのイベントリスナーを提供します。詳細については、SDKリファレンスガイドを参照してください。プッシュ通知イベント
- クリックイベントリスナー:通知がタップされたときを検出します。
- フォアグラウンドライフサイクルリスナー:フォアグラウンドでの通知の動作を制御します。
ユーザー状態の変更
- ユーザー状態変更イベントリスナー:External IDが設定されたときを検出します。
- 許可オブザーバー:ネイティブのプッシュ許可プロンプトとのユーザーの特定のインタラクションを追跡します。
- プッシュサブスクリプション変更オブザーバー:プッシュサブスクリプションのステータスが変更されたときを追跡します。
高度なセットアップと機能
統合を強化するための追加機能を探索します:OneSignalへの移行
別のプッシュプロバイダーからOneSignalに移行します。
統合
OneSignalをサードパーティツールとプラットフォームに接続します。
アクションボタン
プッシュ通知にインタラクティブなボタンを追加します。
多言語メッセージング
ユーザーの好みの言語でローカライズされたメッセージを送信します。
Identity Verification
サーバーサイドのIdentity VerificationでSDK統合を保護します。
カスタムアウトカム
メッセージに関連するカスタムコンバージョンイベントを追跡します。
Web SDKのセットアップとリファレンス
おめでとうございます!Web SDKセットアップガイドが正常に完了しました。
FAQ
HTTPサイトでWebプッシュは機能しますか?
いいえ。WebプッシュにはHTTPSが必要です。ブラウザーはこれをセキュリティ要件として強制しています。唯一の例外はlocalhostと127.0.0.1で、ブラウザーは開発目的のためにこれらをセキュアオリジンとして扱います。
サービスワーカーファイルが必要なのはなぜですか?
サービスワーカーはバックグラウンドで実行され、ユーザーがサイトを開いていない場合でも受信したプッシュ通知を処理します。これがなければ、ブラウザーは通知を表示できません。OneSignalSDKWorker.jsファイルはオリジン上で公開アクセス可能である必要があります。
iOS(iPhone/iPad)でWebプッシュを使用できますか?
はい、iOS 16.4+から使用できます。ただし、Appleはmanifest.jsonファイルを必要とし、ユーザーは最初にサイトをホーム画面に追加する必要があります。完全な要件についてはiOS Webプッシュセットアップを参照してください。
通知が表示されないのはなぜですか?
よくある原因としては、サービスワーカーファイルの配置が間違っている、ダッシュボードのサイトURLが一致していない、またはブラウザー設定でユーザーが通知をブロックしていることが挙げられます。完全なトラブルシューティングのチェックリストについては通知が表示されないまたは遅延するを参照してください。サポートが必要ですか?サポートチームとチャットするか、
support@onesignal.comにメールしてください以下を含めてください:- 発生している問題の詳細と再現手順(利用可能な場合)
- OneSignal App ID
- 該当する場合は、External IDまたはSubscription ID
- 該当する場合は、OneSignalダッシュボードでテストしたメッセージのURL
- 関連するログまたはエラーメッセージ

