メインコンテンツへスキップ

一般的なセットアップの問題

OneSignalダッシュボードのセットアップを確認

WordPressセットアップガイドの各手順を完了していることを確認してください:
  • OneSignalアプリを作成するときにWordPress Pluginオプションを選択します
  • サイトURLはブラウザのURLと完全に一致する必要があります
    • たとえば、https://example.comhttps://www.example.com同じではありません。1つのバージョンを一貫して使用してください。
    • プッシュでは1つのサイトオリジンのみがサポートされます。Same-origin policyを参照してください。
  • 少なくとも1つの権限プロンプトを追加していることを確認してください。

OneSignalコードを手動で追加しないでください

OneSignal WordPressプラグインは、初期化スクリプトとService Workerを自動的に含めます。 ✅ これは次を意味します:
  • テーマ、フッター、または他のプラグインにOneSignal JavaScriptコードを手動で追加しないでください
カスタムコードセットアップを使用したい場合は、競合を避けるために最初にWordPressプラグインをアンインストールしてください。

サイトのトラブルシューティング方法

1

プラグインがアクティブであることを確認し、開発者ツールを開く

プラグインを有効にして、通常の(シークレットモードではない)ブラウザウィンドウでサイトを読み込みます。

サイトを右クリックし、検証をクリックして、コンソールタブを開きます。

2

OneSignalエラーのコンソールを確認

Consoleタブを開き、ページを更新し、赤または黄色のOneSignal関連のエラーを探します。 ヘルプについては、一般的なOneSignalコンソールエラーを参照してください。
3

ブラウザでサブスクリプションステータスを確認

コンソールに次を貼り付けます:
OneSignal.User.PushSubscription.id
サブスクライブしている場合、文字列(サブスクリプションID)を返します。

コンソールでOneSignalサブスクリプションIDを見つける。

4

OneSignalダッシュボードでサブスクリプションIDを確認

OneSignal.com > Audience > Subscriptionsに移動し、上記で返されたIDを検索します。

OneSignalダッシュボードでサブスクリプションIDを検索します。

5

テストプッシュ通知を送信

サブスクリプションが存在し、ステータスがSubscribedの場合、Pushガイドに従って通知を送信します。 何も表示されない場合は、ブラウザ固有の修正については通知が表示されないを参照してください。

一般的なOneSignalコンソールエラー

SdkInitError: OneSignal: This web push config can only be used on … Your current origin is …

サイトURLの不一致エラー。

OneSignalダッシュボードのサイトURLが実際のドメインと一致しません。 ブラウザに表示されるドメインと完全に一致することを確認してください。

PushPermissionNotGrantedError: The user dismissed the permission prompt.

訪問者がブラウザのプロンプトを拒否しました。クールダウン期間が終了するまで再度表示されません。 ブラウザルールについてはWeb権限プロンプトを参照するか、サイトデータをクリアしてすぐに再試行してください。

The OneSignal web SDK can only be initialized once.

重複するOneSignal初期化エラー。

OneSignalを2回読み込んでいます。プラグインを使用している場合は、手動で追加したOneSignalコードを削除してください。

Installing service worker failed.. 403 or 404 error

Service Workerファイルが見つかりません(403/404)。

このファイルがアクセス可能であることを確認してください: https://your-site.com/wp-content/plugins/onesignal-free-web-push-notifications/sdk_files/OneSignalSDKWorker.js そうでない場合は、CDNまたはキャッシュの問題を修正するために一般的なプラグインサポートを参照してください。

一般的なプラグインサポート

CDNとキャッシュプラグインは、OneSignalの必要なファイルをブロックする可能性があります。これらのプラグイン固有の設定を使用してください:

Autoptimize

Excluded scriptsに追加:
wp-content/plugins/onesignal-free-web-push-notifications/sdk_files/(.*)

WP Rocket

CDN > Exclude Files From CDNの下に追加:
(.*)/onesignal-free-web-push-notifications/sdk_files/(.*)

LiteSpeed Cache

CDN > Exclude Pathの下に追加:
(.*)/onesignal-free-web-push-notifications/sdk_files/(.*)
次に保存を押します。

WP Super Cache

  1. Settings > WP Super Cache > CDNに移動
  2. Exclude if substringに含める:onesignal-free-web-push-notifications
  3. Contents > Delete Cacheをクリック

WP Engine

WP Engine plugin > General Settings > HTML Post-Processingで、これらを追加し、YOURSITEHEREを置き換えます:
text
#https?://(www\.)?(YOURSITEHERE\.com|mywpenginehandleHere.wpengine.com|wpengineCDNpathHere.wpengine.netdna-(ssl|cdn).com)/wp-(content|includes)#
=> https://wpengineCDNpathHere-wpengine.netdna-ssl.com/wp-$4
#https://wpengineCDNpathHere-wpengine.netdna-ssl.com/plugins/onesignal-free-web-push-notifications/#
=> https://mywebsiteHere.com/wp-content/plugins/onesignal-free-web-push-notifications/
#https://wpengineCDNpathHere-wpengine.netdna-ssl.com/wp-content/plugins/onesignal-free-web-push-notifications/#
=> https://mywebsiteHere.com/wp-content/plugins/onesignal-free-web-push-notifications/

W3 Total Cache

  1. Performance > CDNに移動
  2. Rejected filesの下に追加:
{plugins_dir}/onesignal-free-web-push-notifications/sdk_files/*

W3 Total Cache除外設定。

BunnyCDN

プラグインのCDN Excluded Pathsでonesignalを除外します。

BunnyCDN除外の例。

CDN Enabler

Settings > CDN Enablerで、「Exclusions」にこれを追加:
onesignal-free-web-push-notifications

PressCDN

Exclude Directoriesに追加:
/wp-content/plugins/onesignal-free-web-push-notifications/

Breeze

Settings > CDN > Exclude Contentに追加:
/onesignal-free-web-push-notifications/sdk_files/

Breeze除外の例。

Hummingbird Pro

Asset Optimizationに移動し、OneSignal SDKファイルを見つけて、最適化から削除します。

Hummingbird Pro Asset Optimization。

Sucuri

OneSignalファイルを許可するには、SucuriのWhitelistガイドに従ってください。

iThemes Security plugin

System Tweaksの下の「Disable PHP in Plugins」オプションを無効にします。

iThemes PHPプラグイン設定。

Defender Security plugin

「Prevent PHP execution」を有効にしないでください。 Defender Plugin > Security Tweaksに移動し、設定が無効になっていることを確認します。

Service Workerアクセス用の.htaccessの例

html
<Files *.php>
Order allow,deny
Deny from all
</Files>
<Files OneSignalSDKWorker.js.php>
Allow from all
ForceType 'application/javascript; charset=UTF-8'
</Files>
<Files OneSignalSDKWorker.js>
Allow from all
ForceType 'application/javascript; charset=UTF-8'
</Files>

通知送信後のサーバー速度低下またはサイトにアクセスできない

通知を送信した後にサーバーが速度低下したり、アクセスできなくなったりする場合、多くの場合、通知アセットからの負荷の増加またはサーバーリソースの制限が原因です。

独自の通知アイコンをホストしないでください

通知で使用される画像を自己ホストしないでください。独自の通知アイコンまたは画像をホストすると、通知が送信されると同時にすべての受信者のブラウザが画像を取得しようとするため、サーバーが過負荷になる可能性があります。 サーバーの負担を軽減するには、高並行アクセス用に最適化された画像ホスティングソリューションまたはCDNサービスを使用してください。

ホスティングリソースのアップグレードを検討してください

サーバーの問題が続く場合は、次のことが必要になる場合があります:
  • ホスティングプランをアップグレード: 大規模な通知送信を処理するには、より高い帯域幅またはより強力なホスティングが必要になる場合があります。
  • ホスティングプロバイダーに相談: プロバイダーは、ホスティング環境に固有の洞察または最適化を提供できます。