From 30dd7e62303be57e028b62bdd3c9c9dee0c157c2 Mon Sep 17 00:00:00 2001 From: joyson Date: Thu, 9 Jul 2026 16:27:28 +0530 Subject: [PATCH 1/2] Document silent configuring for iOS --- docs/_partials/_silentNotification_iOS.mdx | 64 ++++++++++++++++++ docs/sdkx-cocos2dx/proactive-engagement.mdx | 3 + .../proactive-engagement.mdx | 63 ++++++++++++++++- docs/sdkx-unity/proactive-engagement-ios.mdx | 3 + docs/sdkx_ios/proactive-engagement.mdx | 3 + .../books/sdkx_ios/background-modes.png | Bin 0 -> 96146 bytes 6 files changed, 135 insertions(+), 1 deletion(-) create mode 100644 docs/_partials/_silentNotification_iOS.mdx create mode 100644 static/static/books/sdkx_ios/background-modes.png diff --git a/docs/_partials/_silentNotification_iOS.mdx b/docs/_partials/_silentNotification_iOS.mdx new file mode 100644 index 00000000..d65dcca8 --- /dev/null +++ b/docs/_partials/_silentNotification_iOS.mdx @@ -0,0 +1,64 @@ +import { + Admonition, + Intro, + TabItem, + Tabs, + Image, +} from "@site/src/components/forDocs"; + +### Disable push notification for in-app + +By default, in-app push notifications are sent directly to the device's notification tray. However, you can configure the SDKX to display messages exclusively as in-app notifications while the user is actively using the app. +Users do not have to interact with the notification tray to see in-app messages. + +#### Implementation Steps + +1. Enable background remote notifications in Xcode: + +> **_Xcode → Capabilities → Background Modes → Remote Notifications_** + + + +3. Implement background handler in `AppDelegate`. + + + +```objc +- (void)application:(UIApplication *)application + didReceiveRemoteNotification:(NSDictionary *)userInfo + fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler { + NSDictionary *custom = userInfo[@"custom"]; + if (!custom) { + completionHandler(UIBackgroundFetchResultNoData); + return; + } + +} + +```` + + +```swift + func application( + _ application: UIApplication, + didReceiveRemoteNotification userInfo: [AnyHashable : Any] + ) async -> UIBackgroundFetchResult { + let origin = userInfo["origin"] as? String + if origin == "helpshift" { + return await Helpshift.handleSilentBackgroundNotification(userInfo) + } + return .noData + } +```` + + + + + + +- Call the `completionHandler` as quickly as possible after finishing work to allow the system to manage background time. +- Background delivery is not guaranteed: silent notifications are best-effort and may be delayed or dropped when the system is low on resources or the app has been force-quit. +- If the app is terminated by the system, silent pushes may not wake it; rely on visible notifications or server-side escalation for critical alerts. +- You cannot reach or re-engage **inactive users** with this feature. + + diff --git a/docs/sdkx-cocos2dx/proactive-engagement.mdx b/docs/sdkx-cocos2dx/proactive-engagement.mdx index cfd5a4a7..10ee3ea9 100644 --- a/docs/sdkx-cocos2dx/proactive-engagement.mdx +++ b/docs/sdkx-cocos2dx/proactive-engagement.mdx @@ -16,6 +16,7 @@ import { import AndroidiOSProactiveNotifBehaviourTable from "@site/docs/_partials/_androidAndiOSProactiveNotifBehaviourTable.mdx"; import AndroidInAppSample from "@site/docs/_partials/_proactiveAnd_inappSamples.mdx"; +import SilentNotifications from "@site/docs/_partials/_silentNotification_iOS.mdx"; @@ -330,3 +331,5 @@ bool HelloWorld::init() HelpshiftCocos2dx::setHelpshiftProactiveConfigCollector(getAPIConfig); } ``` + + diff --git a/docs/sdkx-react-native/proactive-engagement.mdx b/docs/sdkx-react-native/proactive-engagement.mdx index fb781a21..97204307 100644 --- a/docs/sdkx-react-native/proactive-engagement.mdx +++ b/docs/sdkx-react-native/proactive-engagement.mdx @@ -278,4 +278,65 @@ const proactiveConfig = { }; setProactiveConfig(proactiveConfig); -``` \ No newline at end of file +``` + +### Disable push notification for in-app + +By default, in-app push notifications are sent directly to the device's notification tray. However, you can configure the SDKX to display messages exclusively as in-app notifications while the user is actively using the app. +Users do not have to interact with the notification tray to see in-app messages. + +#### Implementation Steps + +1. Enable background remote notifications in Xcode: + +> **_Xcode → Capabilities → Background Modes → Remote Notifications_** + + + +3. Implement background handler in `AppDelegate`. + + + +```objc +- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler { + [RNNotifications didReceiveBackgroundNotification:userInfo withCompletionHandler:completionHandler]; +} + +```` + + +```swift +override func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable: Any], + fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) { + RNNotifications.didReceiveBackgroundNotification(userInfo, withCompletionHandler: completionHandler) +} +```` + + + + +4. Add RN Notification listener for background notifications. + +```javascript +Notifications.events().registerNotificationReceivedBackground( + async (notification, completion) => { + const notificationData = notification.payload; + const doesNotificationDataHaveOrigin = + notificationData?.origin === "helpshift"; + if (doesNotificationDataHaveOrigin) { + const value = await handleIOSSilentNotification(notificationData); + completion(NotificationBackgroundFetchValue[value]); + } else { + completion(NotificationBackgroundFetchResult.NEW_DATA); + } + }, +); +``` + + + +- Background delivery is not guaranteed: silent notifications are best-effort and may be delayed or dropped when the system is low on resources or the app has been force-quit. +- If the app is terminated by the system, silent pushes may not wake it; rely on visible notifications or server-side escalation for critical alerts. +- You cannot reach or re-engage **inactive users** with this feature. + + diff --git a/docs/sdkx-unity/proactive-engagement-ios.mdx b/docs/sdkx-unity/proactive-engagement-ios.mdx index 5dae7b3d..72184f94 100644 --- a/docs/sdkx-unity/proactive-engagement-ios.mdx +++ b/docs/sdkx-unity/proactive-engagement-ios.mdx @@ -12,6 +12,7 @@ import { Tabs, Image } from "@site/src/components/forDocs"; +import SilentNotifications from "@site/docs/_partials/_silentNotification_iOS.mdx"; import ProactiveNotifBehaviourTable from "@site/docs/_partials/_iOSProactiveNotifBehaviourTable.mdx"; @@ -177,6 +178,8 @@ For example, following code shows how to implement `HelpshiftProactiveAPIConfigC } ``` + + - You need to call this API after `Install` API and before `handleBackgroundNotificationClick:withCompletionHandler:` diff --git a/docs/sdkx_ios/proactive-engagement.mdx b/docs/sdkx_ios/proactive-engagement.mdx index d9d0548b..dbacd88b 100644 --- a/docs/sdkx_ios/proactive-engagement.mdx +++ b/docs/sdkx_ios/proactive-engagement.mdx @@ -14,6 +14,7 @@ import { } from "@site/src/components/forDocs"; import ProactiveNotifBehaviourTable from "@site/docs/_partials/_iOSProactiveNotifBehaviourTable.mdx"; +import SilentNotifications from "@site/docs/_partials/_silentNotification_iOS.mdx"; @@ -178,6 +179,8 @@ func getAPIConfig() -> Dictionary { + + - You need to call this API after `install` API and before `handleBackgroundNotificationClick:withCompletionHandler:` diff --git a/static/static/books/sdkx_ios/background-modes.png b/static/static/books/sdkx_ios/background-modes.png new file mode 100644 index 0000000000000000000000000000000000000000..aa4df4988806fc620390bd38bf957cd8b8750271 GIT binary patch literal 96146 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 Date: Thu, 9 Jul 2026 17:38:23 +0530 Subject: [PATCH 2/2] Add silent notification handling code examples for iOS --- docs/_partials/_silentNotification_Code.mdx | 37 +++++++++++ docs/_partials/_silentNotification_iOS.mdx | 63 +++---------------- docs/sdkx-cocos2dx/proactive-engagement.mdx | 2 + .../proactive-engagement.mdx | 23 +------ docs/sdkx-unity/proactive-engagement-ios.mdx | 2 + docs/sdkx_ios/proactive-engagement.mdx | 8 ++- 6 files changed, 58 insertions(+), 77 deletions(-) create mode 100644 docs/_partials/_silentNotification_Code.mdx diff --git a/docs/_partials/_silentNotification_Code.mdx b/docs/_partials/_silentNotification_Code.mdx new file mode 100644 index 00000000..022a2693 --- /dev/null +++ b/docs/_partials/_silentNotification_Code.mdx @@ -0,0 +1,37 @@ +import { Admonition, TabItem, Tabs } from "@site/src/components/forDocs"; + +3. Implement background handler in `AppDelegate`. + + + +```objc +- (void)application:(UIApplication *)application +didReceiveRemoteNotification:(NSDictionary *)userInfo +fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler { + + NSString *origin = userInfo[@"origin"]; + + if ([origin isKindOfClass:[NSString class]] && [origin isEqualToString:@"helpshift"]) { + // Call the Helpshift background handler and pass the completion block + [Helpshift handleSilentBackgroundNotification:userInfo withCompletionHandler:completionHandler]; + } +} + +```` + + +```swift + func application( + _ application: UIApplication, + didReceiveRemoteNotification userInfo: [AnyHashable : Any] + ) async -> UIBackgroundFetchResult { + let origin = userInfo["origin"] as? String + if origin == "helpshift" { + return await Helpshift.handleSilentBackgroundNotification(userInfo) + } + return .noData + } +```` + + + diff --git a/docs/_partials/_silentNotification_iOS.mdx b/docs/_partials/_silentNotification_iOS.mdx index d65dcca8..6f2984ac 100644 --- a/docs/_partials/_silentNotification_iOS.mdx +++ b/docs/_partials/_silentNotification_iOS.mdx @@ -1,15 +1,14 @@ -import { - Admonition, - Intro, - TabItem, - Tabs, - Image, -} from "@site/src/components/forDocs"; +import { Image } from "@site/src/components/forDocs"; +import AndroidInAppSample from "@site/docs/_partials/_proactiveAnd_inappSamples.mdx"; + +## Handling Silent notification for in-app -### Disable push notification for in-app +By default, in-app notifications are sent directly to the device's notification tray as fallback push notifications. +However, you can configure the SDK to display notification exclusively as in-app notification while the user is actively using the app. -By default, in-app push notifications are sent directly to the device's notification tray. However, you can configure the SDKX to display messages exclusively as in-app notifications while the user is actively using the app. -Users do not have to interact with the notification tray to see in-app messages. +- If the app is terminated by the system, silent pushes may not wake it. +- Background delivery is not guaranteed: silent notifications are best-effort and may be delayed or dropped when the system is low on resources or the app has been force-quit. +- When silent notifications are enabled and fallback push is disabled, you can't use this feature to reach or re-engage inactive users. Because in-app notifications only appear when the app is in the foreground. #### Implementation Steps @@ -18,47 +17,3 @@ Users do not have to interact with the notification tray to see in-app messages. > **_Xcode → Capabilities → Background Modes → Remote Notifications_** - -3. Implement background handler in `AppDelegate`. - - - -```objc -- (void)application:(UIApplication *)application - didReceiveRemoteNotification:(NSDictionary *)userInfo - fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler { - NSDictionary *custom = userInfo[@"custom"]; - if (!custom) { - completionHandler(UIBackgroundFetchResultNoData); - return; - } - -} - -```` - - -```swift - func application( - _ application: UIApplication, - didReceiveRemoteNotification userInfo: [AnyHashable : Any] - ) async -> UIBackgroundFetchResult { - let origin = userInfo["origin"] as? String - if origin == "helpshift" { - return await Helpshift.handleSilentBackgroundNotification(userInfo) - } - return .noData - } -```` - - - - - - -- Call the `completionHandler` as quickly as possible after finishing work to allow the system to manage background time. -- Background delivery is not guaranteed: silent notifications are best-effort and may be delayed or dropped when the system is low on resources or the app has been force-quit. -- If the app is terminated by the system, silent pushes may not wake it; rely on visible notifications or server-side escalation for critical alerts. -- You cannot reach or re-engage **inactive users** with this feature. - - diff --git a/docs/sdkx-cocos2dx/proactive-engagement.mdx b/docs/sdkx-cocos2dx/proactive-engagement.mdx index 10ee3ea9..d1e1d161 100644 --- a/docs/sdkx-cocos2dx/proactive-engagement.mdx +++ b/docs/sdkx-cocos2dx/proactive-engagement.mdx @@ -17,6 +17,7 @@ import { import AndroidiOSProactiveNotifBehaviourTable from "@site/docs/_partials/_androidAndiOSProactiveNotifBehaviourTable.mdx"; import AndroidInAppSample from "@site/docs/_partials/_proactiveAnd_inappSamples.mdx"; import SilentNotifications from "@site/docs/_partials/_silentNotification_iOS.mdx"; +import SilentNotificationCode from "@site/docs/_partials/_silentNotification_Code.mdx"; @@ -333,3 +334,4 @@ bool HelloWorld::init() ``` + diff --git a/docs/sdkx-react-native/proactive-engagement.mdx b/docs/sdkx-react-native/proactive-engagement.mdx index 97204307..d238551f 100644 --- a/docs/sdkx-react-native/proactive-engagement.mdx +++ b/docs/sdkx-react-native/proactive-engagement.mdx @@ -16,6 +16,8 @@ import { import AndroidiOSProactiveNotifBehaviourTable from "@site/docs/_partials/_androidAndiOSProactiveNotifBehaviourTable.mdx"; import AndroidInAppSample from "@site/docs/_partials/_proactiveAnd_inappSamples.mdx"; +import SilentNotifications from "@site/docs/_partials/_silentNotification_iOS.mdx"; +import SilentNotificationCode from "@site/docs/_partials/_silentNotification_Code.mdx"; @@ -280,18 +282,7 @@ const proactiveConfig = { setProactiveConfig(proactiveConfig); ``` -### Disable push notification for in-app - -By default, in-app push notifications are sent directly to the device's notification tray. However, you can configure the SDKX to display messages exclusively as in-app notifications while the user is actively using the app. -Users do not have to interact with the notification tray to see in-app messages. - -#### Implementation Steps - -1. Enable background remote notifications in Xcode: - -> **_Xcode → Capabilities → Background Modes → Remote Notifications_** - - + 3. Implement background handler in `AppDelegate`. @@ -332,11 +323,3 @@ Notifications.events().registerNotificationReceivedBackground( }, ); ``` - - - -- Background delivery is not guaranteed: silent notifications are best-effort and may be delayed or dropped when the system is low on resources or the app has been force-quit. -- If the app is terminated by the system, silent pushes may not wake it; rely on visible notifications or server-side escalation for critical alerts. -- You cannot reach or re-engage **inactive users** with this feature. - - diff --git a/docs/sdkx-unity/proactive-engagement-ios.mdx b/docs/sdkx-unity/proactive-engagement-ios.mdx index 72184f94..bd506db4 100644 --- a/docs/sdkx-unity/proactive-engagement-ios.mdx +++ b/docs/sdkx-unity/proactive-engagement-ios.mdx @@ -13,6 +13,7 @@ import { Image } from "@site/src/components/forDocs"; import SilentNotifications from "@site/docs/_partials/_silentNotification_iOS.mdx"; +import SilentNotificationCode from "@site/docs/_partials/_silentNotification_Code.mdx"; import ProactiveNotifBehaviourTable from "@site/docs/_partials/_iOSProactiveNotifBehaviourTable.mdx"; @@ -179,6 +180,7 @@ For example, following code shows how to implement `HelpshiftProactiveAPIConfigC ``` + diff --git a/docs/sdkx_ios/proactive-engagement.mdx b/docs/sdkx_ios/proactive-engagement.mdx index dbacd88b..e3a6ad35 100644 --- a/docs/sdkx_ios/proactive-engagement.mdx +++ b/docs/sdkx_ios/proactive-engagement.mdx @@ -15,6 +15,7 @@ import { import ProactiveNotifBehaviourTable from "@site/docs/_partials/_iOSProactiveNotifBehaviourTable.mdx"; import SilentNotifications from "@site/docs/_partials/_silentNotification_iOS.mdx"; +import SilentNotificationCode from "@site/docs/_partials/_silentNotification_Code.mdx"; @@ -179,11 +180,12 @@ func getAPIConfig() -> Dictionary { - - - You need to call this API after `install` API and before `handleBackgroundNotificationClick:withCompletionHandler:` - The "customIssueFields" key has been deprecated. We strongly recommend transitioning to using the "cifs" key as the preferred method for passing custom issue fields. - \ No newline at end of file + + + +