Customizing UX for Destination URLs
When Responsys Link Tracking is used on calls-to-action in Rich Push and In-app message creatives, mobile app users are bounced off the browser and taken to the destination URL when they click the calls-to-action. This results in a poor user experience for the mobile app users.
The new feature "Customized User Experience for Links and Calls-to-action in Rich Push, In-app Messages" gives Mobile App Developers more control of how these links are handled. For example, if you want these links (including HTTP web links) to all be displayed within the mobile app, you can now do so. You can also fix the user experience of being bounced off a browser before being taken to a destination URL.
The instructions in this section tell you how to implement this feature in your mobile apps.
Before you begin: To use this feature, you must build your app with the Mobile App SDK for Android, version 6.35 (when available) or greater.
Customizing user experience for links and calls-to-action in Rich Push and In-app messages
If you would like your app to process the Responsys hyperlinks sent in a Rich Push or In-app message, use the following API to set up a callback for receiving the resolved links.
PushIOManager.getInstance(this).setExecuteRsysWebUrl(true, new PIORsysIAMHyperlinkListener() {
@Override
public void onSuccess(String requestUrl, String deeplinkUrl, String weblinkUrl) {
}
@Override
public void onFailure(String requestUrl, String reason) {
}
});
PushIOManager.getInstance(this).setExecuteRsysWebUrl(true,
object: PIORsysIAMHyperlinkListener{
override fun onSuccess(requestUrl: String?, deepLinkUrl: String?, webLinkUrl: String?) {
}
override fun onFailure(requestUrl: String?, reason: String?) {
}
})
Where:
requestUrl
is the Responsys link that was part of the Rich Push or In-app message.deeplinkUrl
is the resolved link that leads to someActivity
within your app.weblinkUrl
is the resolved link that leads to a web page, opened in the device's default web browser.
If the boolean
flag in the above API is set to false
, as in the following:
PushIOManager.getInstance(this).setExecuteRsysWebUrl(false, null);
Then the SDK tries to resolve the link and attempts to launch the URI received in deeplinkUrl
first. If the URI is empty/null, the SDK will try to launch the URI received in weblinkUrl
.