• Apple acknowledged a bug in iOS 17 that caused duplicates. This was fixed in iOS 17.3. Read more.
• If you’re using OneSignal Android SDK versions 4.4.1 – 4.6.2, update to the latest version to avoid known issues.
Same message sent multiple times
The most common cause of duplicate notifications is sending the same notification payload more than once through the OneSignal API.Common reasons:
- Your server retries requests without checking if the first succeeded.
- Accidental logic duplication in your backend notification pipeline.
- You’re migrating to OneSignal but still sending notifications from a previous provider. Avoid sending from both systems simultaneously.
Multiple push notification SDKs
Check if your app includes another push notification SDK (e.g., Firebase, Urban Airship). These may also process and display OneSignal notifications.- OneSignal includes logic to avoid duplication when it is the only SDK.
- Other SDKs may not recognize and filter out OneSignal’s payloads, leading to multiple displays.
Multiple app instances
Android
Duplicate notifications may occur when:- You have both production and development versions of your app installed.
- Each app has a unique package name and receives its own push token.
Diagnostic tips
To help us debug duplicate issues faster, collect and send:
- OneSignal SDK version
- Device OS version
- Build environment (Mac/Windows)
- Xcode logs or logcat outputs
- List of other libraries/plugins in your app
- Detailed reproduction steps
FAQ
What happens if I have 2 different notification SDKs in my app?
What happens if I have 2 different notification SDKs in my app?
- Android: OneSignal will only handle notifications containing a
"custom"
key with an"i"
field. If your previous SDK does not check for this key, it may also handle and show the same notification. - iOS: All notifications appear in the system tray. If both SDKs send the same message, the user will see it twice.
Recommendation: For iOS click handling, check for the
"custom"
payload before processing or use your own payload keys to avoid duplicate handling.
How to send push from a previous provider and OneSignal?
How to send push from a previous provider and OneSignal?
- Android: Remove old SDK notification handling code when integrating OneSignal and releasing the app. As users update, they’ll stop receiving push from the old provider.
- iOS: You can continue sending from the old provider temporarily while users update. Once fully transitioned, send from OneSignal only to avoid duplicates.