Webサイトで問題が発生している場合は、Webプッシュトラブルシューティングガイドを参照してください。
トラブルシューティング手順
セットアップ手順を確認し、SDKを更新する
バグ修正、改善、および最新のオペレーティングシステムの変更のサポートを含む更新を頻繁にリリースしています。最新のSDKバージョンを使用していることを確認し、セットアップ手順に従ってください。モバイルSDKセットアップ
一般的な問題を防ぎ、統合をテストするのに役立つセットアップ手順。
一般的なトラブルシューティングガイドを確認する
通知が表示されない、または遅延する
プッシュ通知がデバイスに表示されないか遅延します。
通知画像が表示されない
通知の展開ビューで画像が表示されません。
通知CTR
通知のクリック数が少ない、またはクリックがありません。
重複通知
通知が複数回表示されています。
アプリ内メッセージのトラブルシューティング
アプリ内メッセージが期待どおりに表示または動作しません。
アプリの一般的な問題を確認する
プッシュ表示をブロックするOneSignalメソッド
OneSignal.User.pushSubscription.optOut() などの optOut() や、REST APIで enabled: false を設定していないか確認してください。これによりプッシュサブスクリプションのステータスが unsubscribed に設定されます。詳細はMobile SDK リファレンスを参照してください。
プッシュ送信中にアプリが開いている場合、preventDefault() メソッドによってプッシュの表示が阻止されている可能性があります。これは通常、フォアグラウンドイベントリスナーまたはAndroid通知サービス拡張機能で設定されます。
Firebase Messagingまたは他のSDKの競合
アプリにFirebase Messaging SDKや他のプッシュ通知SDKも含まれている場合、OneSignalがメッセージを処理する前にそれらがメッセージを傍受していないか確認してください。 この問題は次の場合によく発生します:- 通知がOneSignalで配信済みと表示されているにもかかわらず、デバイスに表示されない。
- アプリにOneSignalと
firebase_messaging(またはカスタムFirebaseMessagingService)の両方が含まれている。 - Firebase Messagingを削除するとプッシュが機能するが、両方のSDKが存在すると失敗する。
-
AndroidManifest.xmlにcom.google.firebase.iid.FirebaseInstanceIdReceiverなどのレガシーFirebaseレシーバーがないか確認し、OneSignalがプッシュ配信を担当している場合は削除/条件付きで除外してください。 -
onMessageReceivedをオーバーライドするカスタムFirebaseMessagingServiceの実装(またはFlutterのfirebase_messagingなどのライブラリ)がないか確認してください。別のサービスがメッセージを完全に処理または抑制している場合、OneSignalが通知を表示する前にFCMペイロードを消費する可能性があります。 -
FirebaseMessaging.getToken()やFirebaseMessaging.deleteToken()などのFirebaseトークン管理APIの呼び出しを避けてください。
User.pushSubscription.token)、SDKのオブザーバーAPIを使用してサブスクリプション/トークンの変更をリッスンしてください。
SDKのサンプルプロジェクトをテストする
エンジニアリングチームが各SDKのために維持しているサンプルプロジェクトを使用して、問題が再現可能かどうかを確認してください。- iOSサンプルプロジェクト
- Androidサンプルプロジェクト
- Cordovaバリアントサンプルプロジェクト
- React Nativeサンプルプロジェクト
- Flutterサンプルプロジェクト
- Unityサンプルプロジェクト
- .NET MAUIサンプルプロジェクト
エラーログを確認する
さらに診断する前にログデータを収集してください:- デバッグログの取得に関するガイドに従ってください。
- 動作を説明できるエラー、警告、または非推奨の通知を探してください。
デバッグログの取得
詳細ログを有効にしてトラブルシューティング用のSDK出力をキャプチャする方法。
サポートに連絡する
それでも問題が解決しない場合は、次の情報を添えてsupport@onesignal.com に連絡してください:
- OneSignalアプリID
- 影響を受けているデバイスの外部IDまたはサブスクリプションID
- 該当する場合、通知IDまたはダッシュボードの通知へのリンク
- 問題を再現するデバイスからのデバッグログ
一般的なエラー
APNS Delegate never fired
「APNS Delegate Never Fired」や「APNS 3000」などのエラーは、デバイスがAppleのAPNSサーバーに接続できなかったことを示す、Appleが提供するタイムアウトメッセージです。これは次の場合に最も一般的です:- APNS開発環境でテストしている
- OneSignalで複数のプッシュ通知依存関係またはネイティブiOSプッシュAPIを使用している
- 一時的な接続の問題——ユーザーが次回新しいセッションを開始するときに自動的に解決されることが多い(アプリが30秒以上バックグラウンドで、その後再度開かれる)
- 他のプッシュ通知依存関係またはネイティブiOSプッシュAPIを削除し、OneSignalのみを使用してください。エラーが解決したら、他のコードを追加し直してください。共存のベストプラクティスについては
support@onesignal.comに連絡してください。 - 詳細については、デバイスからのデバッグログを確認してください。
- エラーが解決しない場合は、サポートに連絡してください。
アプリが強制終了された後、通知をクリックしてもアプリが開かない
Debugビルドでテストしていないことを確認してください。例えば、Flutterアプリの場合:
- Flutterを介してリリースビルドを使用します。例:
flutter run --release(物理デバイスが必要) - Xcodeスキームを
DebugではなくReleaseに更新します
関連ページ
モバイルSDKセットアップ
サポートされているすべてのモバイルおよびクロスプラットフォームSDKのセットアップ手順。
デバッグログの取得
トラブルシューティング用のSDKログをキャプチャする方法。
Webプッシュのトラブルシューティング
Webプッシュ通知の問題をトラブルシューティングします。
モバイルSDKリファレンス
OneSignal Mobile SDKの完全なAPIリファレンス。
FAQ
アプリでOneSignalアプリIDを変更するとどうなりますか?
アプリの初期化コードでOneSignalアプリIDを変更すると、ユーザーがアプリを最新バージョンに更新して開いたときに、新しいアプリIDの下に新しいユーザーとプッシュサブスクリプションが作成されます。 iOSバンドルIDまたはAndroidパッケージIDが同じ場合、デバイスは同じプッシュサブスクリプションステータスを継続します。ユーザーデータは新しくなります。つまり、新しいレコードにエイリアス、タグ、メールアドレス、電話番号を追加し直す必要があります。 iOSバンドルIDまたはAndroidパッケージIDが異なる場合、これは新しいアプリであり、異なるプッシュ証明書/キーが必要です。OneSignalはオンプレミスのクローズドネットワークでプッシュ通知を送信できますか?
クローズドネットワーク上のコンピュータが、サポートしたいプッシュゲートウェイサーバーにアクセスできる限り、これは機能します:- https://support.apple.com/en-us/HT203609
- https://firebase.google.com/docs/cloud-messaging/concept-options#messaging-ports-and-your-firewall