Deep Linking (URL scheme)

Using deep linking in push messages, providing your app supports deep linking, is simple and easy.

All you need is to send the deep link with the push message. To do so, please proceed with the following:

1. Create a push message .

2. Once arriving at the  "Push Text" page, Locate the "Extra Fields" area.

3. Use the following commands as key and enter the desired values.

  • Apx_dpl: open url within the app browser

  • Apx_url : open url within the app(webview) & outside app (based on the parameter)

  • apx_aid : open play store, if play store installed in device

4. For your consideration, here are use cases:


* Please note that deep linking is supported from iOS SDK V2.3 and above, and Android SDK V2.0 and above.

Example:

To use these option all you need is to use the push extra fields in the push editor as follows:  

URL scheme, WithIn app browser - ability to define a URL (if the app supports URL scheme) which will open within the app when user opens the app from a push message.     

Key:apx_dpl

Value: URL

URL scheme, WithIn app(web view) & outside app- ability to define a URL which open in WebView(within app) & phone browser(outside app) based on the following parameter.

apx_open_url_internal add this in string file with “Yes” or “No” value.

If No: Open outside app otherwise in webview

Key:apx_url

Value: URL

Open Specific app Google play store  - ability to redirect user to Google play store app, if play store application is installed in targeted device.

Key:apx_aid

Value: package name


Note: In Android when user click on Push Notification, activity is re-launched while at the top of the activity stack instead of a new instance of the activity being started, onNewIntent() will be called on the existing instance with the Intent that was used to re-launch it. Otherwise If the activity is not in stack then new instance of activity will launch.

See: https://developer.android.com/reference/android/app/Activity.html#onNewIntent(android.content.Intent)


Test coverage: 

This test covers sending a Deep Link using a Push notification and having that specific app page open once clicking the Push notification.

Testing procedure:

  • Connect your Device to your computer using the proper USB cable
  • Depending on your type of device launch the proper tool (Xcode for iOS or Android Visual Studio for Android). 
  • follow the using Deep Linking procedure, make sure to use your test device segment.

  • Click on the Push notification once it is received on your device

Expected result:

  • After you have clicked on the Push notification, the application should be opened with the specific page that was indicated in your message.

Example device logs:

  • Within Xcode\Visual studio you can see that the message is received with the Deep Link you have indicated as seen in the Android logs example below:

12-15 11:03:56.156 19495-20957/com.appoxee.example D/Appoxee SDK v2.5.6﹕ MessageIntentHandler Extra Bundle : Bundle[{push_description=Testing Deep Linking, apx_dpl=example://, p=222303872, from=423433911434, alert=Testing Deep Linking, android.support.content.wakelockid=1, collapse_key=222303872}]
12-15 11:03:56.156 19495-20957/com.appoxee.example D/Appoxee SDK v2.5.6﹕ MessageIntentHandler Extra Bundle : Bundle[{push_description=Testing Deep Linking, apx_dpl=example://, p=222303872, from=423433911434, alert=Testing Deep Linking, android.support.content.wakelockid=1, collapse_key=222303872}]
12-15 11:03:56.156 19495-20957/com.appoxee.example D/Appoxee SDK v2.5.6﹕ Value is String for Key : p_from_killed
12-15 11:03:56.156 19495-20957/com.appoxee.example D/Appoxee SDK v2.5.6﹕ Value is String for Key : p_from_killed
12-15 11:03:56.156 19495-20957/com.appoxee.example D/Appoxee SDK v2.5.6﹕ Success saving in Configuration, Key = p_from_killed, Value =222303872
12-15 11:03:56.156 19495-20957/com.appoxee.example D/Appoxee SDK v2.5.6﹕ Success saving in Configuration, Key = p_from_killed, Value =222303872
12-15 11:03:56.156 19495-20957/com.appoxee.example D/Appoxee SDK v2.5.6﹕ aPushParam : Testing Deep Linking
12-15 11:03:56.166 19495-20957/com.appoxee.example D/Appoxee SDK v2.5.6﹕ SendCustomNotification : description=Testing Deep Linking

12-15 11:03:56.166 19495-20957/com.appoxee.example D/Appoxee SDK v2.5.6﹕ SendCustomNotification : extras=Bundle[{push_description=Testing Deep Linking, messageId=222303872, apx_rp={"Subject":{"text":"Appoxee Test App"},"Desc":{"text":"Testing Deep Linking"},"noLines":2}, hasMessage=false, apx_dpl=example://, p=222303872, from=423433911434, alert=Testing Deep Linking, PushOpenIntentService.activityName=com.appoxee.example.AppoxeeExampleActivity, android.support.content.wakelockid=1, collapse_key=222303872}]

12-15 11:03:56.216 19495-20957/com.appoxee.example D/Appoxee SDK v2.5.6﹕ Received: Bundle[{push_description=Testing Deep Linking, apx_dpl=example://, p=222303872, from=423433911434, alert=Testing Deep Linking, android.support.content.wakelockid=1, collapse_key=222303872}]