Deep Linking

Compatible with iOS, Android and Windows, Cordova, Phonegap

This tutorial explains how to use Deep Linking to link to particular native pages from push notification on your iOS or Android app. Pushwoosh SDK supports opening deep links from Push Notifications, Rich Pages and In App Messages interactions.

Creating Deep Links

In Pushwoosh Control Panel open your App and go to Deep Links section and click "Add Deep Link". Enter the name of the deep link and its template.
The template follows standard URI scheme which is scheme:[//domain][/]path[?query]
The scheme must be unique to your application. You can also reference additional parameters that could be entered later by using {placeholders} in curly braces. You can use several placeholders in your deep link template.

The example below illustrates a deep link with the scheme com.pushwoosh, page name - promotion and query parameter id with placeholder promo_id:

Please note that examples below are provided for demo purposes and it is your responsibility to pick a deep linking strategy and perform manual integration. We suggest looking into the Mobile Deep Linking Guide which is a collaborative industry effort to provide a consistent, high-quality source of documentation on this topic.

Configuration

iOS

Use the following guide to set up Deep Linking for iOS: http://docs.pushwoosh.com/docs/customizing-ios-sdk#deep-linking

Android

For Android, please follow this guide: http://docs.pushwoosh.com/docs/androidmanifestxml-modifications#deep-linking

PhoneGap / Cordova

For applications developed with PhoneGap / Cordova, we recommend using this plugin. It's super easy to set deep links for Cordova and it works with Pushwoosh deep linking functionality out of the box.

As an example, let's add the following code to Cordova config.xml:

<universal-links>
    <host name="sample.com" scheme="pushwoosh" event="ul_myExampleEvent" />
</universal-links>

This will set deep link for pushwoosh://sample.com and will trigger ul_myExampleEvent.

Add the following lines to your javascript code:

universalLinks.subscribe('ul_myExampleEvent', function (eventData) {
    // do some work
    // in eventData you'll see url и and parsed url with schema, host, path and arguments
    console.log('Did launch application from the link: ' + JSON.stringify(eventData));
    alert('Did launch application from the link: ' + JSON.stringify(eventData));
});

That's it!

Sending Deep Links

Select Deep Link in the Action tab when sending push notification and enter placeholder values. Woosh! You can save this in a Push Preset for later use and also pass custom data to the app with a deep link, if necessary.

Deep Linking