Deeplinking in Pugpig Bolt
What is a deeplink?
A deeplink is a hyperlink that seamlessly takes the user to a specific piece of content or functionality within your app.
We have 3 types of deep links:
- Articles - this is the most common. We can link directly to a specific article (for example from a push notification or an email). The format of the URL can vary, so make sure to check yours
- Tabs/Collections/Editions/Timelines - you can use these to link directly to a content area of the app (for example a specific edition)
- Commands - we use these to link to trigger certain functionality or direct users to native screens
How does deeplinking work?
The app has a domain and any link using that domain will open inside the app. If the link isn't valid it will open the app's home screen (the first tab), but if it is valid it will open to a screen inside your app. A list of these screens is described later in this article.
This article assumes you are sending deep links on the app domain. If you are interested in sending them on the www. domain, read making links from you domain open in the app
Note: When you send a push, this will ALWAYS open the app, regardless of the URL you send in the push payload. This is because tapping any push notification always opens the target app. Clicking on a link (for example, from an email or social media) will only open the app if the domain is configured to accept it. We always configure these for your apps on the app domains.
How do I find my app's domain?
Share an article from your app to yourself and it will send you a valid link. The domain is the section of the hyperlink after https:// upto and including the domain extension (e.g. .com, .co.uk, .fr etc).
e.g. the domain in https://www.pugpig.com/products-and-services/ is www.pugpig.com
What screens can I deeplink to?
Articles
Article: https://<insertyourdomain>/example_path_my_article/content.html
e.g.
Tabs/Collections/Editions/Timelines
Any other tab: https://<insertyourdomain>/t/<insert_tab_name>
You can find the tab name as it is listed as the timeline_group in distribution. Go to the publication in Production Distribution>Content Sources>Main Content Feed. Under editions, find a timeline that lives within that tab (there may only be one) and the timeline_group will be listed in the categories column.
e.g.
Timelines: https://<insertyourdomain>/t/<insert_tab_name>/<insert_timeline_name>
You can find the timeline name by finding the timeline under Production Distribution>Content Sources>Main Content Feed and clicking on the timeline title. This will take you through to a page with the timeline name at the top, labelled as "edition: <timeline name here>".
e.g.
Commands
Help Screens: https://<insertyourdomain>/c/onboarding
This relaunches the onboarding flow users see when they first install your app e.g.
Sign in screen: https://<insertyourdomain>/c/signin
e.g.
Subscription screen: https://<insertyourdomain>/c/subscribe
e.g.
Receipt postback: https://<insertyourdomain>/c/register
This will take the user to our hosted receipt postback registration form or the registration form for your chosen auth provider.
Push permissions dialog (mostly iOS only): <insertyourdomain>/c/pushpermissions
e.g.
Analytics Tracking Consent opt-in screen: https://<insertyourdomain>/c/analyticstracking
e.g.
Audio Player: https://<insertyourdomain>/c/audioplayer
e.g.
App's push permissions in settings app (iOS only): https://<insertyourdomain>/c/appsettings
This is useful for customers who have previously opted-out to prompt them to opt-in again from the settings app of their own device.
e.g.
Edit timelines: https://<insertyourdomain>/t/settings/edittimelines
This screen allows users to select which timelines are visible in the app