• Appleは、重複を引き起こすiOS 17のバグを認めました。これはiOS 17.3で修正されました。詳細はこちら。
• OneSignal Android SDKバージョン4.4.1〜4.6.2を使用している場合は、既知の問題を回避するために最新バージョンに更新してください。
同じメッセージが複数回送信される
重複通知の最も一般的な原因は、OneSignal API経由で同じ通知ペイロードを複数回送信することです。一般的な理由:
- サーバーが最初のリクエストが成功したかどうかを確認せずにリクエストを再試行します。
- バックエンド通知パイプラインで誤ってロジックが重複しています。
- OneSignalに移行中だが、以前のプロバイダーからまだ通知を送信している。両方のシステムから同時に送信しないでください。
複数のプッシュ通知SDK
アプリに別のプッシュ通知SDK(例:Firebase、Urban Airship)が含まれているかどうかを確認してください。これらは、OneSignal通知も処理して表示する可能性があります。- OneSignalが唯一のSDKである場合、重複を回避するロジックが含まれています。
- 他のSDKはOneSignalのペイロードを認識してフィルタリングしない可能性があり、複数の表示につながります。
複数のアプリインスタンス
- Android
- IOS
- Web Push
Android
次の場合に重複通知が発生する可能性があります:- アプリの本番バージョンと開発バージョンの両方がインストールされている。
- 各アプリには一意のパッケージ名があり、独自のプッシュトークンを受け取ります。
診断のヒント
重複問題のデバッグを迅速に行うために、次の情報を収集して送信してください:
- OneSignal SDKバージョン
- デバイスOSバージョン
- ビルド環境(Mac/Windows)
- Xcodeログまたはlogcat出力
- アプリ内の他のライブラリ/プラグインのリスト
- 詳細な再現手順
FAQ
アプリに2つの異なる通知SDKがある場合はどうなりますか?
アプリに2つの異なる通知SDKがある場合はどうなりますか?
- Android:OneSignalは、
"i"フィールドを持つ"custom"キーを含む通知のみを処理します。以前のSDKがこのキーをチェックしない場合、同じ通知を処理して表示する可能性があります。 - iOS:すべての通知がシステムトレイに表示されます。両方のSDKが同じメッセージを送信すると、ユーザーはそれを2回見ることになります。
推奨事項:iOSのクリック処理では、処理する前に
"custom"ペイロードを確認するか、重複処理を避けるために独自のペイロードキーを使用してください。
以前のプロバイダーとOneSignalからプッシュを送信する方法は?
以前のプロバイダーとOneSignalからプッシュを送信する方法は?
- Android:OneSignalを統合してアプリをリリースする際に、古いSDKの通知処理コードを削除します。ユーザーが更新すると、古いプロバイダーからのプッシュを受信しなくなります。
- iOS:ユーザーが更新している間、一時的に古いプロバイダーから送信を続けることができます。完全に移行したら、重複を避けるためにOneSignalからのみ送信してください。