Building a Purple Experience
...
Components
Action URLs and Deep linking
Deep linking
11 min
overview once you have carefully read the article list of action urls docid\ hvlbwiwymm61gc7f6znfr you will notice that purple uses the following url scheme for the internal usage of an action url " purple purple " a fictitious action url could therefore look like this " purple //app/do something purple //app/do something " at this point, there are two variants of executing a deep link in your purple app the manual variant by the potential app user the potential app user taps on a deep link that is integrated into one of your websites, for example this variant supports the fact that the app does not have to be installed the automatic variant delivers a deep link to the device, for example via push or in app message for this variant, the app must already be installed and configured accordingly for the input channel used use case user taps on a deep link on your website as an introduction, the following figure shows the very rough process of how a deep link is passed to your purple app after the user tapped a deep link very rough process of how a deep link is passed to your purple app after the user tapped a deep link custom url schemes this feature relies on registering your purple app with custom url schemes in the operating system this tells the operating system that this app can open deep links for the registered url scheme ios to read more about the apple feature in detail, continue reading at official documentation https //developer apple com/documentation/xcode/defining a custom url scheme for your app https //developer apple com/documentation/xcode/defining a custom url scheme for your app android to read more about android's feature in detail, continue reading at official documentation https //developer android com/training/app links/deep linking https //developer android com/training/app links/deep linking create your custom url scheme before we get into the example, let's start with a warning if multiple apps register the same scheme, the app the system targets is undefined there is no mechanism to change the app or to change the order apps appear in a share sheet to avoid this problem, after creating your app in purple manager, the default value is " purple your app package name your app package name " that way the scheme is unique since the package name is unique example if the package name of your app is " com example my app com example my app ", for example, the following scheme results with which your purple app registers with the operating system " purple com example my app com example my app " the fictitious action url mentioned above can thus be used as a deep link as follows " purple com example my app\ //app/do something purple com example my app\ //app/do something " are you migrating your app to purple and already have a custom url scheme for your app, or just want to use a different url scheme as purple's default one? you can configure this custom scheme in the purple manager " your app your app " => " basic settings basic settings " => " general general " => " basic settings basic settings " => " deeplink scheme name deeplink scheme name " universal links (ios only) this feature relies on registering your purple app to use universal links this feature is for use in ios only ios to read more about the apple feature in detail, continue reading at official documentation https //developer apple com/documentation/xcode/allowing apps and websites to link to your content https //developer apple com/documentation/xcode/allowing apps and websites to link to your content seamlessly link to content in your app or on your website with universal links, you can always give users the most integrated mobile experience, even when your app isn’t installed on their device quote from https //developer apple com/ios/universal links/ https //developer apple com/ios/universal links/ you can configure this in the purple manager " your app your app " => " basic settings basic settings " => " ios ios " => " basic settings basic settings " => " associated domain prefix associated domain prefix " " your app your app " => " basic settings basic settings " => " ios ios " => " basic settings basic settings " => " apple app id prefix apple app id prefix " " your app your app " => " basic settings basic settings " => " ios ios " => " basic settings basic settings " => " deferred deep linking deferred deep linking " do not be confused that one setting takes place under " deferred deep linking deferred deep linking " within your apple developer account you have to configure your app to enable the capability " associated domains associated domains " deferred deep linking theoretically, content from your purple app can be linked to your website using deep links if a user clicks on such a deep link and the corresponding purple app is installed, the content addressed opens if the potential app user has not installed this app, this is usually a "dead end " with the deferred deep link feature, the deep link can still be evaluated after installing your purple app and the app user opens it for the first time this mechanism is currently supported by purple itself and by firebase dynamic links it is not recommended to use firebase dl as it is deprecated and the service will be discontinued soon there will be no replacement by firebase itself purple manager you can configure this in the purple manager settings location " your app your app " => " basic settings basic settings " => " ios ios " => " basic settings basic settings " => " deferred deep linking deferred deep linking " apple developer account within your apple developer account you have to configure your app to enable the capability " associated domains associated domains " use case deep link passed to your purple app by an input channel via push or in app message if your purple app is already installed, the following channels for sending deep links can be used push messages in app messages these channels can be used but require the use of 3rd party sdks push typically used to notify app users about breaking news articles in app message may be used to reach inactive subscribers to make a discount on a subscription 3rd party these 3rd party sdks support the input channels for deep links as follows sdk deep link via push deep link via in app message airship yes yes (by message center) appboy (braze) yes yes firebase yes yes