The document discusses implementing deep linking and app indexing for mobile apps. It provides code examples and steps for setting up deep links on Android, including adding an intent filter to activities, specifying the URI scheme and format, and categories for links to be browsable from the web. Deep links allow sending users directly to relevant in-app content rather than a generic app or mobile site homepage, improving the user experience. The document emphasizes that few mobile apps currently use deep linking capabilities.
20. 1. First, make your app discoverable by implementing a URI scheme
A mobile app URI is an address for an app. Just like a URL is an address for
a website, a URI is the same for an app on a device. Here are a couple
examples:
twitter:// is the iOS URI for twitter
Youtube:// is the iOS URI for YouTube
<scheme name> : <hierarchical part> [ ? <query> ] [ # <fragment> ]
The scheme name consists of a sequence of characters beginning with a
letter and followed by any combination of letters, digits, plus ("+"), period
("."), or hyphen ("-"). Although schemes are case-insensitive, the canonical
form is lowercase and documents that specify schemes must do so with
lowercase letters. It is followed by a colon (":").
21. 1. First, make your app discoverable by implementing a URI scheme
A mobile app URI is an address for an app. Just like a URL is an address
for a website, a URI is the same for an app on a device. Here are a couple
examples:
twitter:// is the iOS URI for twitter
Youtube:// is the iOS URI for YouTube
<scheme name> : <hierarchical part> [ ? <query> ] [ # <fragment> ]
The scheme name consists of a sequence of characters beginning with a
letter and followed by any combination of letters, digits, plus ("+"), period
("."), or hyphen ("-"). Although schemes are case-insensitive, the
canonical form is lowercase and documents that specify schemes must do
so with lowercase letters. It is followed by a colon (":").
22. 2. Second, use an intelligent linking solution that can detect if a
URI is present. You need to detect the device and presence of
your mobile app. If your user is on mobile or a tablet and has
your app, your deep link points to your mobile app URI and the
app is launched. If not, you will send the user to either the app
store for download or to your website. If they are on desktop,
the link works like a normal link taking the user to the website. If
you’d created deep-link URIs, then you can send users right to a
product page within the app.
Here’s an example of a deep-link URIs for a product on Ebay:
•ebay://item/view?id=360703170135 (Android).
23. 3. Finally, put the links in your marketing.
With upwards of 60% of email being read on mobile devices,
email marketing is a prime candidate for growing your user
base. Social posts and mobile ads are also a great candidate
because they enable your links to serve both acquisition and
retention objectives.
24. Practice
1) Scheme Name
A) our demo app: // path?query_string
1) Choose a name unique
to your brand
2) Keep in mind there is
no central authority, like
with domain names
3) Consider reversing your
domain
1) Routing options are optional
2) Route to screens inside the app
3) Query optional unless you want
a product ID
4) Routing parameters syntax
should match the structure
25. Scheme Examples
Twitter: // timeline
Fb: // profile
Yelp: // (this URI has no routing)
www.ebay.com/item/view?id=360703 (common web
URL)
Ebay://item/view?id=360703 (mobile URI)
26. 3 Steps to Start
1. Create the deeplinking URL scheme (reference previous two slides)
2. Update the mobile deeplinking library JSON configuration file
3. Update the app code to call the library
LIBRARY:
https://github.com/mobiledeeplinking/mobiledeeplinking-android
https://github.com/mobiledeeplinking/mobiledeeplinking-ios
27. RECAP OF APP INDEXING
• Right now, our
app and all of
our app content
is only
searchable by
app title in the
app store.
28. INTERMISSION: ADD URI SRUCTURE
•Choosing a URI format
For a reliable and smooth user experience, it is imperative that you
select a URI format that will never be used by a different app.
Conflicts can lead to unexpected and undesired behavior.
It is highly recommended that your URI format use a scheme name
derived from your product, company, and/or domain name, and that it
is sufficiently specific that it is unlikely to be selected by someone else.
For the purposes of simply launching your app, a URI with only a
scheme (e.g. companyname-productname:) will suffice; as you
approach more advanced features such as deep-linking, using
additional URI components such as the authority, path, query, and/or
fragment will be required to pass data within the link to your app
29. 1. Add an android.intent.action.VIEW intent filter for your main application
activity (and/or any others you want launchable via a link).
2. Add the android.intent.category.DEFAULT category to the intent filter. This
means that the intent that launches it can be implicit, and not necessarily
requesting your particular activity explicitly.
3. Add the android.intent.category.BROWSABLE category to the intent filter. This
makes the URI usable from the browser/links, and not just other apps on the
device.
4. Specify the criteria for your custom URI in the data element. Android breaks it
down, so you can include a scheme, host, path, etc. individually. You should at
minimum have a scheme, one that is unlikely to be used by anyone else. Only
URIs that match every element you have included in the data element of the
intent filter will invoke your activity.
30. Here is how to specify a deep link to your app content:
In your Android manifest file, add one or more <intent-
filter> elements for the activities that should be launchable from
Google search results.
Add an <action> tag that specifies the ACTION_VIEW intent
action.
Add a <data> tag for each data URI format the activity accepts.
This is the primary mechanism to declare the format for your
deep links.
Add a <category> for both BROWSABLE and DEFAULT intent
categories.
BROWSABLE is required in order for the intent to be
executable from a web browser. Without it, clicking a link in
a browser cannot resolve to your app and only the current
web browser will respond to the URL.
IMPLEMENT DEEPLINKING
31. DEFAULT is not required if your only interest is providing deep
links to your app from Google search results. However, the
DEFAULT category is required if you want your Android app to
respond when users click links from any other web page that
points to your web site. The distinction is that the intent used from
Google search results includes the identity of your app, so the
intent explicitly points to your app as the recipient — other links to
your site do not know your app identity, so the DEFAULT category
declares your app can accept an implicit intent.
IMPLEMENT DEEPLINKING
36. Only 22 percent of the top 200 mobile
apps use deep link tagging, (Source: URX)
First To Market
37.
38. Personagraph is a mobile start up that helps make
mobile user understanding possible and actionable
using in-app and out-of-the app signals. Maximize user
value and mobile revenue using our analytics,
engagement, & monetization products.
Personagraph is an Intertrust company that champions
user privacy.
Who Are We?
Notes de l'éditeur
From Marketing Email to the Mobile App – NO HOME PAGE / NO LOGIN REQUIRED. 6 X Return
We want to circumvent the home page when a new user or returning user comes to our app
We worked hard developing our native apps and do not want the user to be redirected to the web for simple in-app requests
In order to increase the revenue in our app, we’d like to have a user access specific in-app product pages Our advertising partners and marketing partners find more value in the mobile users we have acquired.
Utilize search engines and other query methods for our in-app content.
For Android Apps, only 14% are launch-able via external links & only 8% have deep-linking capabilities