Deeplinks automations
Purchasely supports the use of Deeplinks to trigger different actions to improve conversion, retention and upsell. You can send a Push or an email with that deeplink and Purchasely will open the requested presentation or page for you.
Here are the actions Purchasely supports:
Display a product page (paywall)
Display the user subscriptions
Display the cancellation survey
Update credit card (Deeplink to App Store)
Integration
To integrate these automations you need 2 things:
Pass the deeplink to Purchasley when it is received by the application
Allow Purchasely to display content over your interface
Pass the Deeplink to Purchasely
The first thing you need to do is to pass the deeplink URL to Purchasely when your app receives it:
// ---------------------------------------------------
// If you are **NOT** using SceneDelegate
// ---------------------------------------------------
// AppDelegate.swift
import Purchasely
func application(_ application: UIApplication, open url: URL, sourceApplication: String?, annotation: Any) -> Bool {
// You can chain calls to multiple handler using a OR
return Purchasely.isDeeplinkHandled(deeplink: url)
}
// ---------------------------------------------------
// If you are using SceneDelegate
// ---------------------------------------------------
// SceneDelegate.swift
import Purchasely
func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
// …
if let url = connectionOptions.urlContexts.first?.url {
_ = Purchasely.isDeeplinkHandled(deeplink: url)
}
}
func scene(_ scene: UIScene, openURLContexts URLContexts: Set<UIOpenURLContext>) {
if let url = URLContexts.first?.url {
_ = Purchasely.isDeeplinkHandled(deeplink: url)
}
}
Allow display
Your app might have a launch routine that requires to be fulfilled before another screen can be displayed. It can be splash screen, on boarding, login …
The display of Purchasely deeplinks is deferred until you authorize it. Once your app is ready, notify Purchasely.
Purchasely.readyToOpenDeeplink(true)
Get presentation result
When a deeplink is called, as you don't instanciate the paywall yourself, no closure will be called to tell you what happened.
You can retrieve the result of the user action in a paywall opened with a deeplink by setting a DefaultPresentationResultHandler
.
Purchasely.setDefaultPresentationResultHandler { [weak self](result, plan) in
switch result {
case .purchased:
break
case .restored:
break
case .cancelled:
break
@unknown default:
break
}
}
Supported deeplinks
You can open a product presentation directly to the user with the default presentation or a specific one used for a specific purpose / promotion.
⚠️ This kind of push requires users opt-in (see App Store Review Guidelines - 4.5.4).
app_scheme://ply/presentations/PRESENTATION_VENDOR_ID
app_scheme://ply/presentations
app_scheme://ply/placements/PLACEMENT_ID
app_scheme://ply/placements
Cancellation survey can be triggered to get some feedback by the user after a subscription cancellation.
app_scheme://ply/cancellation_survey
app_scheme://ply/cancellation_survey/PRODUCT_VENDOR_ID
This deeplink will open the subscriptions view inside the app.
app_scheme://ply/subscriptions
This deeplink will open the App Store / Play Store setttings for the user to updates its credit card after a payment error.
app_scheme://ply/update_billing
Last updated
Was this helpful?