Route Pulsate campaign links into your app, other apps, or phone numbers.
Deeplinks let you link from Pulsate to your app, other apps, or phone numbers. In the Pulsate CMS you can add buttons to your marketing campaigns that lead to deep links in your application.
Deeplinks must be unique
When creating deeplinks that target your app, pick a scheme / name that is unique. If several apps on the device share the same deeplink scheme, tapping the link makes the phone ask which app to open instead of opening yours directly.
Add / edit / delete deeplinks in the Pulsate CMS
The first step is adding deeplinks in the Pulsate CMS so you can use them in campaigns (https://control.pulsatehq.com).
- From the CMS dashboard, select your application and open Settings → App Settings.
- In App Settings you will find the Add Deeplink and Manage Deeplinks sections.
- To add a deeplink, enter its name and value and click Save.
The deeplink is now added to your account and available when building campaigns. Existing deeplinks can be changed or removed with the Edit and Delete buttons next to each entry.
Deeplink to call a phone number
To open the Phone app with a number pre-filled, create a deeplink with a URL formatted as
tel:+123456789. This opens the Phone app on both iOS and Android with+123456789as the number to call.
Register your URL scheme in Xcode
To support deep linking, declare your app's URL scheme in Xcode:
- Select your project in Xcode and open the Info tab.
- Expand URL Types and add a new entry.
- Enter your bundle identifier in the Identifier field and the URL scheme you want to use.
You can test the scheme by entering myapp:// in the device's web browser.
Handling Pulsate deeplinks
Register a link listener on the PULPulsateManager instance. Pulsate invokes your listener when a campaign or CTA link needs to be handled. Return true if your app consumed the link, or false to let Pulsate fall back to its default handling.
import PULPulsate
guard let manager = PULPulsateFactory.getDefaultInstance() else { return }
manager.setPULPulsateLinkListener { link -> Bool in
if link == "myapp://clothes" {
self.openClothesViewController()
return true
}
return false
}
Note
The listener receives the link as a
String(PULPulsateLinkListener = (String) -> Bool). Register it once during startup, for example after the session has started.

