
Deep links have provided mobile app marketers and developers improved campaigns that show meaningful and optimized content at a click of a link. They improve conversions, activations, retention, engagement and attrition-risk resurrection of churned users.
When creating call-to-actions in an in-app notification, for instance, app marketers can link to a registered deep link within another app, a registered deep link within the same app, a link to a web page, a universal link or an app link to an app.
A web link can also call an app developer implemented web-hook passing additional data to personalize interactions and act on events.
Web Link
Web links are http:// or https:// links. They can point to a website or be deep and point to content on a web page.
- https://DickeySingh.com points to this blog site.
- https://dickeysingh.com/20-years-of-a-b-testing-7a4c24277dd7 points to a blog
Including a web link as an call to action link would open the specified page in the mobile browser.
For example, you could send an in-app notification to your users when you have added a new article to your website about sharing your wishlist with your Facebook friends.
Deep Links
A deep link is a link to some content in a mobile app. An example of a deep link is:
twitter://user?screen_name=dickeysingh
The Twitter app must register twitter:// so other apps may deep link to the specific page directly.
If the app is available on the user’s device, the operating system will ask for permission to open the app. If the app is not available, the operating system will alert the user that the app cannot be opened.
Deep links usually point to some content on the page.
For instance, typing the following in Safari on an iOS device will open twitter app to the Pyze Page, if the twitter app is present on your device.
twitter://user?screen_name=dickeysingh
For instance, typing the following in Safari on an iOS device will open facebook app to my Facebook page, if the facebook app is present on your device. Entering the following in Safari Desktop Browser also works.
fb://profile/
646988124
Other interesting deep links that apps can use directly on iOS devices to make a phone call, facetime call or facetime audio-only call include:
tel:// facetime:// facetime-audio://
[Update — June 25, 2017: using tel://, facetime://, or facetime-audio:// in iOS 10.3.3 onwards will require confirmation from the user when released.]
Is target app installed?
You can check to see if an app is installed before linking to a deep link. For instance use twitter:// to check if the app is installed. If not redirect to the app store.
- In your app, test if Twitter is installed by attempting to launch using the openURL: method
twitter://
- Redirect to the app store, if app not installed.
https://itunes.apple.com/us/app/twitter/id333903271
Once app is installed and user switches back to the app that launched Twitter, the app has to re-execute the deep link
- Redirect to app deep link is app is installed
twitter://user?screen_name=dickeysingh
iOS Universal Links
Universal links allow using standard https: or http: links to deep-link into iOS apps, or download, install and deep-link directly to the app without involving a third party service, or requiring Safari app.
Three step process to enable universal links
You will need to enable two-way trust between the app and your website and implement a specific method.
- Establish trust and create an association between your website and app by placing a JSON file named “apple-app-site-association” in the root folder or in the .well-known subfolder of your website. Here is an example of an apple-app-site-association file from the Dropbox website.The file references 8KM394JM3R.com.getdropbox.Dropbox, the application bundle for the Dropbox app.
- Establish trust and create an association between your app and website by adding your website domain to your app capabilities on Xcode.
Prefix websites and websites with domains with applinks: E.g. applinks:www.dropbox.com, applinks:dropbox.com. Dropbox added applinks: http://www.dropbox.com in the capabilities section of app identified by bundle Id 8KM394JM3R.com.getdropbox.Dropbox - To support Universal Links in your app, you need to implement the application(_:continue:restorationHandler:) on your AppDelegate.
Here is an example of a universal link that should open either in a browser or directly in the Dropbox app if you have the app installed:
https://www.dropbox.com/s/n427m4wli4nlsq6/apple-490485.jpp
To learn more about Universal Links, click here.
Privacy
As indicated above, universal links allow using standard https: links to deep-link into iOS apps, or download, install and deep-link directly to the app without involving a third party service to process and host deep links. The app publishers’ app and website have full control.
Android App Links
App Links are the Android equivalent of Universal Links. An https: link points to both a website and content inside an app.
Custom URI schemes (e.g. twitter://user?screen_name=pyzeinc) are, however, fully supported by Android and many developers continue to use them.
Learn more about app links here.
Facebook App Links
You can link to web content, iOS apps and Android Apps supporting Facebook App links from Pyze.
The web content you are linking to needs to add metadata on the pages to support iOS and Android. You will need a custom URL, app store ID for iOS or package ID for Android, and the name of the app that will handle the content. See Adding App Links to Your Existing Web Content. If your app is mobile only, see Using Facebook’s Mobile Hosting API for App Links.
Self Links
You can specify a unique identifier that your code already understands and can parse to take a custom action within the completion handler, delegate or listener.
Example: unique-identifer:trigger-onboarding
Unlike deep links, self-links do not need to be registered and are primarily used to access a known implementation within the app.
For instance, a marketer may trigger the new user tour for users who did not use the app for a long time.
Webhooks
Webhooks are user-defined HTTP callbacks that are usually triggered by some event. For example, when a new version of the app is released, call a webhook to notify users.
An iOS or Android app, or a server can POST to a webhook specified by the developer along with key-value pairs in the body.
For instance: https://webhook.myservice.com/eventid/2342/. Key data for personalization or tracking is also sent to the server handling web-hook. For instance, “Recency” : “3 months”, “Model”: “iPhone 6,2”, “ppi”: “401”,…