deep link (to the future)
TRANSCRIPT
Deep Link (to the Future)
Akash Gupta Ashish Tyagi
Brief Overview● About Deep linking● Traditional Approach● Universal Links● Case Study● Techniques and Applications
App Stats
The RequirementWhat: Implement deep linking to our mobile apps.
Why: So that clicking on an ad can take users to the mobile app.
The Traditional WayURL Schemes
my-app://com.myapp.fooBarIdentifier
And in the App Delegate:
Advertisement (linked-url)
Mobile Web Page(url-scheme)App
Installed?
Open App ?
Yes
No
Mobile AppYes
No Action
No Action
How it works
Universal Links● Native first, browser second● Available iOS 9 onwards
Advertisement (linked-url)
Mobile Web PageApp Installed?
Mobile App
Supports URL ? Mobile Web Page
Yes
Yes
No
No
How Universal Links Work ?
Entitlements File
App-Site-Association File { "applinks": { "apps": [], "details": [ { "appID": "9JA89QQLNQ.com.myOrganisation.myApp", "paths": [ "/feature1/subFeature/", "/videos/wwdc/2015/*", NOT /about] }, { "appID": "ABCD1234.com.myOrganisation.mySecondApp", "paths": [ "*" ] } ] } }
The Actual ProblemWhat : Implement deep linking to our mobile apps.
Why : So that business can track which marketing campaigns are generating how much revenue.
Akash Reacts
Traditional Analytics/App-Stitching
Advertisement (linked-url)
Redirects to mobile safari UserId Cookie ?
Yes
NoGenerate Cookie(Analytics
Library)
Append cookieId & campaign id to url-scheme
Open App with updated url scheme
Limitations of Universal Links● Difficult to pass any additional parameters in Universal Links.● Universal Links do not work with redirects.● The user can also disable universal links altogether by innocently tapping on the
website breadcrumb that is shown on the top.● Difficult to debug and test because of all the various components involved.● Deep linking to intercept subdomain.
Universal Links are Frustrating
● A separate domain name for marketing links.● A server application responsible for routing traffic to the correct platform.● For desktop browsers, it is a simple matter of routing to the website.● For mobile browsers, a web page is generated with the deep link to the app.
Looking Towards New Domain Names
Custom web page with Deep Link to
app
Domain Name just for Deep Linking?
Marketing URLCustom Redirect
Server(Track Ad Click)
Display content in app
Website or App Store
What if the App is not even installed yet?
Deferred Deep Linking● Resolve deeplinks immediately after app install from a Universal Link.● Device fingerprinting by link server before redirect to App Store.● App reaches out to link server for pending context on first launch.● Content displayed/action taken based on context.
Deferred Deeplinking Explained
Deeplink URL
Custom Redirect Server
(Device Fingerprint)
App Not Installed
App Installed
App Store Install Page
Contact Deeplink Server for pending
context
Exchange deeplink with server for
context
Display custom content based on
context
App Opens Directly
Third Party Providers
Let’s Play Some Golf
User Experience with Deferred Deeplinks● Personalized welcome screen flow● Redirect to content shown in App Install ad● Referrals/Invites can be resolved immediately● Discounts/Offers availed
Harnessing the Power of Universal Links● Index app activities and content.
○ Native app indexing allows you to provide app content and user activities in Spotlight search.
○ Third party indexing such as that provided by Google can be used to provide deep linking into
your app through Google search.
● Promote content and not just the app.○ Using the above mentioned indexing tools one can create marketing campaigns that are dynamic
and work across platforms.
Prepared for the Future!
Questions...
Useful Links● Deeplink Golf on Github● Universal Links Documentation
Thank You!