Standalone and journey-based in-app messages arrive on your device through different methods:
- Standalone (instant) in-app messages are returned directly in response to the
/postEventAPI call and are triggered locally on the device. - Journey in-app messages are queued for the user on the Pushwoosh side and picked up by the SDK, so the message appears the next time the app is opened. On accounts and journeys still on the legacy delivery path (journeys created before 11 April 2025), the same element delivers the in-app as a silent push, and the SDK must receive that silent push to show it.
If journey-based in-app messages are not appearing on your iOS device, use these troubleshooting steps.
Enable background modes
In Xcode, go to your target's Signing & Capabilities tab, add Background Modes, and select Remote notifications. This is required for the silent-push delivery path.
Implement the silent push handler
Cross-platform frameworks, such as React Native, do not always link silent push notifications automatically. You must add the native handler inside your AppDelegate file:
func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable: Any], fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) {
Pushwoosh.configure.handlePushReceived(userInfo)
completionHandler(.noData)
}
Verify settings and SDK version
- Check that you are running iOS SDK version 7.0.14 or newer.
- If the in-app is expected to appear as a modal window rather than full screen, check that
Pushwoosh_RICH_MEDIA_STYLEis set toMODAL_RICH_MEDIAin yourInfo.plistfile. This key controls presentation only — it is not required for the message to be delivered or displayed.
Apple Push Notification service (APNs) delivers silent push notifications on a best-effort basis. These notifications do not arrive if the user has force-closed the app or if the device is in Low Power Mode.
Comments
0 comments
Please sign in to leave a comment.