Skip to main content

Proactive Engagement

Proactive Engagement lets you reach out to your players by sending Push/In app Notifications on their mobile devices and engage in various ways including starting conversations.

Note

This feature is available from SDK X 10.5.0 onwards.

All the public APIs in the SDK should be called after initializing the SDK via Helpshift install API

Before starting with Proactive Engagement, please ensure you have integrated push notifications with Helpshift SDK. Please refer Notifications Android and Notifications iOS page for integration guide.

Configuring Proactive Engagement notifications

To publish a notification follow these steps:

  • Open the Helpshift Dashboard and navigate to Settings > Workflows > Proactive Engagement
  • Create a notification for the app you want with either Push or In-App notification
Helpshift admin dashboard settings for Proactive Engagement feature
  • Select the desired action from available options, fill up the notification content and add context as per your needs.
    • Intents/CIFs/tags/initial message etc configured here will be used when the end user starts a conversation by clicking on the notification.
Proactive Engagement notification compose settings on Helpshift admin dashboard
  • Configure the audience filter that you want to target. You can filter the audience based on:
Proactive Engagement notification audience filter on Helpshift admin dashboard
  • Schedule the notification. You will get a chance to review the full configuration before publishing the notification.
Proactive Engagement notification scheduling on Helpshift admin dashboard

Push notifications

Proactive Engagement push notification on Android
  • Push type notifications will be shown in the Notification tray of the device.
  • Use this type of notification when you want to re-engage the user who has not been active or grab attention of users with some interesting information.
  • With the various actions available on click of the notification or the buttons in the notification, you can redirect the user to any part of your application via deeplinks (need to be setup by the client application) or start a conversation via “Start Chat“ option or redirect them to an FAQ for quick help.
  • Push notifications will show up even if the app is not running in background.
  • Rich text is supported in the content of the notification. Make sure you provide compatible/supported HTML content used for setting up the notification on Dashboard.
    • Due to system limitations, rich text in notifications is not supported from Android 16 unless Android fixes it.

In-App Notifications

Proactive Engagement in-app notification on Android
  • InApp notifications are used to grab attention of the user who is already using your application, is on the application UI and you want to alert/engage them.
  • If the user is not currently using the app, we show the in-app notification when the application is opened next time. This way an in-app notification is not lost even if user is not on the application screen.
  • We currently support Banner type notifications with click actions similar to Push notifications.
  • Note:
    • If the SDK receives multiple in-app notifications when the app was in background then the SDK will show only the latest received in-app notification and discard all the older ones.
    • By default, In-App notifications expire in 2 days from the time of delivery to the device. If in-app received in background expires, then SDK will not show the expired in-app notification.

Pausing In-App Notifications

  • This API will pause/unpause the showing of in-app notifications to the end user when the application is in the foreground.
  • You can use this API to pause in-app notifications when you know that the user should not be disturbed. For example:
    • The user is on the app startup screen or the app is still loading.
    • The user is in active gameplay.
    • The user is on a payment or checkout screen.
  • In-app notifications received while they are paused are not lost; they are shown to the user as soon as the notifications are unpaused.
  • This API needs to be called in every app session because the SDK does not persist its value across sessions. The state of your app (e.g., whether the user is in gameplay) is best known to your application in real-time.
  • By default, the SDK will always show in-app notifications (pauseDisplayOfInAppNotification is effectively false) unless explicitly paused.
  • Values:
    • true: Pauses in-app notifications.
    • false: Resumes showing in-app notifications (default behavior).
KeyDetails
APIpauseDisplayOfInAppNotification(shouldPause: boolean)
Valuestrue (Pauses), false (Resumes)
Min SDKv10.5.0
Call TimingAfter install()

Example:

import { pauseDisplayOfInAppNotification } from "helpshift-plugin-sdkx-react-native";

// To temporarily pause in-app notifications (e.g., during gameplay)
pauseDisplayOfInAppNotification(true);

// To resume showing the in-app notifications
pauseDisplayOfInAppNotification(false);

Setting defaults for notification properties (Android)

If you need to set some defaults to be used in proactive notifications on Android, you can use the setAndroidProactivePushNotificationDefaults API. We recommend calling this API right after the install() call.

The following configurations are available via this API:

  • notificationIconId: Notification icon file name without extension, for the small icon to be used for proactive notifications. If not configured, the app icon will be used by default.
  • largeNotificationIconId: Large notification icon file name without extension. This will be used when an image is not configured in the notification on the Helpshift Dashboard.
  • soundId: Sound resource name without extension, for the sound to be used for proactive notifications. If not provided, the system default sound will be used. Note that this sound will be associated with the default notification channel that the SDK creates for Proactive Engagement notifications.
  • proactiveSupportChannelId: Custom channel ID for Proactive support cases (notifications leading to Helpcenter or Conversations).
  • proactiveEngageChannelId: Custom channel ID for Proactive Engage cases (notifications leading to user engagement).
KeyDetails
APIsetAndroidProactivePushNotificationDefaults(config: object)
PlatformAndroid only
Min SDKv10.5.0
Call TimingRight after install()

Example:

import {
install,
setAndroidProactivePushNotificationDefaults
} from 'helpshift-plugin-sdkx-react-native';

// ... install call ...

const proactiveDefaults = {
notificationIconId: "ic_notification",
largeNotificationIconId: "ic_large_notification",
soundId: "notification_sound",
proactiveSupportChannelId: "my_support_channel",
proactiveEngageChannelId: "my_engage_channel"
};

setAndroidProactivePushNotificationDefaults(proactiveDefaults);

Custom notification channels for Proactive Engagement notifications

If you want to use your own notification channels (created by your application beforehand) for Proactive Engagement notifications, you can provide the channel IDs via the API above.

If the values are not set, the SDK creates default notification channels automatically:

  • Proactive Support: For notifications leading to Helpcenter or Conversations. Default name: "Proactive Support".
  • Proactive Engage: For notifications leading to user engagement. Default name: "Proactive Engage".

For more details on these configuration options and custom notification channels, please refer to the Android Notification Defaults section.

Passing configuration specific to the current user

  • You may want to add configuration specific to the current user in your app when they interact with proactive notifications.
  • This configuration is used when no configuration is provided from the Helpshift Dashboard during notification creation. The configuration data format is the same as what you would use in other APIs like showConversation or showFAQs.
  • The configuration provided here will also be used for the next issue filed in the same session. For example, if a user starts a conversation via a proactive notification and that conversation is resolved, any subsequent conversation started in the same session will use this fallback configuration.
  • Important: You must call this API after the install call and before the user interacts with (clicks) the notification.

To set this configuration, use the setProactiveConfig API.

import { setProactiveConfig } from "helpshift-plugin-sdkx-react-native";

const proactiveConfig = {
initialUserMessage: "Hi there!",
fullPrivacy: true,
tags: ["vip", "payment", "renewal"],
cifs: {
is_pro: { type: "boolean", value: true },
stock_level: { type: "number", value: "1505" },
},
};

setProactiveConfig(proactiveConfig);