SlideShare a Scribd company logo
An introduction to
deep linking and App
Indexing codelab
We have tons of
apps on our
smartphones,
but how many
do we actually
use?
US users have an
average of 33 apps,
but only engage with
roughly ⅓ of them
Remember 1998?
Number of Web Hostnames 1991-2014
Number of Web Hostnames 1991-2014
Number of Web Hostnames 1991-2014
How can we,
together, help
users make the
best of their
day in this new
mobile world?
Protocol Package ID
• http
• custom
Scheme Host Path
Unique single string address
Anatomy of a deep link
android-app://com.example/http/example.com/gizmos
Re-engage existing usersAcquire new users
Google helps
drive app
installs through
Search results.
Drive usage and
engagement
through App
Indexing.
App
Indexing
Using app indexing to re-
engage users:
The Etsy app on Android
was able to increase daily
app traffic from referrals by
11.6%.
https://developers.google.com/app-indexing/case-studies
Re-engage
users in search
completions
with the App
Indexing API
Get your app in
the Index.
Re-engage existing usersAcquire new users
An Introduction to Deep Linking and App Indexing Codelab
An Introduction to Deep Linking and App Indexing Codelab
How to index your app (codelab)
Add support for deep links in your Android app
App calls to the App Indexing API
Update sitemap or web pages with deep link info
Verify your app against your site on your Google Play Developer Console
1
2
3
To run the codelab visit:
4
1. http://search-codelabs.appspot.com/codelabs/android-deep-linking
2. http://search-codelabs.appspot.com/codelabs/app-indexing
3. http://search-codelabs.appspot.com/codelabs/web-deep-linking
Appendix
Implementing App Indexing
Step 1:
Add deep link
support to app
Step 3:
Publish app
deep links
Indexing
App Indexing
Step 2:
Verify
website
Step 3:
Publish app
deep links
Indexing
App Indexing
Step 2:
Verify
website
Step 1:
Add deep link
support to app
HTTP or
Custom scheme
<activity
android:name="com.example.android.GizmosActivity"
android:label="@string/title_gizmos" >
<intent-filter android:label="@string/filter_title_viewgizmos">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<!-- Accepts URIs that begin with "http://example.com/gizmos” -->
<data android:scheme="http"
android:host="example.com"
android:pathPrefix="/gizmos" />
</intent-filter>
</activity>
manifest.xml
App Indexing
<activity
android:name="com.example.android.GizmosActivity"
android:label="@string/title_gizmos" >
<intent-filter android:label="@string/filter_title_viewgizmos">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<!-- Accepts URIs that begin with "http://example.com/gizmos” -->
<data android:scheme="http"
android:host="example.com"
android:pathPrefix="/gizmos" />
</intent-filter>
</activity>
manifest.xml
App Indexing
<activity
android:name="com.example.android.GizmosActivity"
android:label="@string/title_gizmos" >
<intent-filter android:label="@string/filter_title_viewgizmos">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<!-- Accepts URIs that begin with "example://gizmos” -->
<data android:scheme="example"
android:host="gizmos" />
</intent-filter>
</activity>
manifest.xml
App Indexing
<activity
android:name="com.example.android.GizmosActivity"
android:label="@string/title_gizmos" >
<intent-filter android:label="@string/filter_title_viewgizmos">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<!-- Accepts URIs that begin with "example://gizmos” -->
<data android:scheme="example"
android:host="gizmos" />
</intent-filter>
</activity>
manifest.xml
App Indexing
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Intent intent=getIntent();
String action=intent.getAction();
Uri data=intent.getData();
…
Intent intentNext=new Intent(this, nextGizmosActivity.class);
startActivity(intentNext);
}
GizmosActivity.java
App Indexing
Step 1:
Add deep link
support to app
Step 3:
Publish app
deep links
Indexing
App Indexing
Step 2:
Verify
website
An Introduction to Deep Linking and App Indexing Codelab
An Introduction to Deep Linking and App Indexing Codelab
An Introduction to Deep Linking and App Indexing Codelab
An Introduction to Deep Linking and App Indexing Codelab
An Introduction to Deep Linking and App Indexing Codelab
An Introduction to Deep Linking and App Indexing Codelab
Step 1:
Add deep link
support to app
Step 3:
Publish app
deep links
Indexing
App Indexing
Shortcut!
Step 2:
Verify
website
Step 1:
Add deep link
support to app
Indexing
App Indexing
Step 2:
Verify
website
Step 3:
Publish app
deep links
Website markup
Sitemap
<html>
<head>
...
...
</head>
Example.com
App Indexing
<link rel=“alternate” href=“android-app://com.example/http/example.com/gizmos” />
App Indexing
<link rel=“alternate” href=“android-app://com.example/http/example.com/gizmos” />
App Indexing
<link rel=“alternate” href=“android-app://com.example/http/example.com/gizmos” />
Means there’s another version
of this document somewhere
Unique single string address
App Indexing
Means there’s another version
of this document somewhere
<link rel=“alternate” href=“android-app://com.example/http/example.com/gizmos” />
<link rel=“alternate” href=“android-app://com.example/http/example.com/gizmos” />
Unique single string address
App Indexing
Protocol
Unique single string address
App Indexing
<link rel=“alternate” href=“android-app://com.example/http/example.com/gizmos” />
Protocol Package ID
Unique single string address
App Indexing
<link rel=“alternate” href=“android-app://com.example/http/example.com/gizmos” />
Protocol Package ID
• http
• custom
Scheme
Protocol Package ID
• http
• custom
Scheme Host Path
Unique single string address
App Indexing
<link rel=“alternate” href=“android-app://com.example/http/example.com/gizmos” />
<?xml version="1.0" encoding="UTF-8" ?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:xhtml="http://www.w3.org/1999/xhtml">
<url>
<loc>http://example.com/gizmos</loc>
<xhtml:link rel="alternate" href="android-app://com.example/http/example.com/gizmos"
/>
</url>
...
</urlset>
sitemap.xml
App Indexing
Step 1:
Add deep link
support to app
Step 3:
Publish app
deep links
Indexing
App Indexing
Step 2:
Verify
website
Step 1:
Add deep link
support to app
Step 3:
Publish app
deep links
Indexing
App Indexing
Step 2:
Verify
website
Check for
errors & status
An Introduction to Deep Linking and App Indexing Codelab
An Introduction to Deep Linking and App Indexing Codelab
An Introduction to Deep Linking and App Indexing Codelab
An Introduction to Deep Linking and App Indexing Codelab
An Introduction to Deep Linking and App Indexing Codelab
An Introduction to Deep Linking and App Indexing Codelab
Step 1:
Add deep link
support to app
Step 3:
Publish app
deep links
Indexing
App Indexing
Step 2:
Verify
website
Check for
errors & status
Troubleshooting App Indexing
Read the blog post: http://googledevelopers.blogspot.com/2014/12/four-steps-to-supercharge-
deep-linking.html
Check out the FAQ: https://developers.google.com/app-indexing/faq
If all else fails, try https://productforums.google.com/forum/#!forum/webmasters or http:
//stackoverflow.com/questions/tagged/android-app-indexing
1
2
3

More Related Content

What's hot (19)

PDF
Advanced Structured Data: Beyond Rich Snippets
Justin Briggs
 
PPTX
Deep linking slides
Personagraph
 
PDF
Deep linking
Ramu Chokkalingam
 
PDF
UaMobitech - App Links and App Indexing API
Matteo Bonifazi
 
PPTX
Firebase App-Indexing - SMX London 2016
David Iwanow
 
PDF
Basics to Search Engine Optimization & App Store Optimization with Pooja Goyal
Pooja Singla
 
PPTX
Life After Mobilegeddon: App Deep Linking Strategies - Pubcon October 2015
Suzzicks
 
PPTX
Mobile Deep linking
Hsiang-Min Yu
 
PPTX
android deep linking
Thao Huynh Quang
 
PPTX
App Deep Linking
Pradeep Kumar Sharma
 
PPTX
Why Deep Linking is the Next Big Thing: App Indexing - SMX East 2015
Suzzicks
 
PPTX
Emily Grossman App Indexing SMX West 2017
MobileMoxie
 
PDF
Mobile Deep Linking for Apps – What? Why? How?
Branch
 
PDF
Mobile Deep Linking - Definition, Benefits and Implementation
Shortcut Media
 
PPTX
Firebase App Indexing - SMX Advanced
David Iwanow
 
PPTX
From Website to Web App - Indexing, Optimizing, and Auditing Experiences for ...
MobileMoxie
 
PPTX
Looking Beyond Website Competition: How Apps Impact Local-Mobile Searches
MobileMoxie
 
PPTX
Cindy Krum Krum Cindy "What SEOs Need To Know About Progressive Web Apps" SMX...
MobileMoxie
 
PDF
How to Optimize Apps for Apple iOS Search and iOS 9 Universal Links By Emily ...
Search Marketing Expo - SMX
 
Advanced Structured Data: Beyond Rich Snippets
Justin Briggs
 
Deep linking slides
Personagraph
 
Deep linking
Ramu Chokkalingam
 
UaMobitech - App Links and App Indexing API
Matteo Bonifazi
 
Firebase App-Indexing - SMX London 2016
David Iwanow
 
Basics to Search Engine Optimization & App Store Optimization with Pooja Goyal
Pooja Singla
 
Life After Mobilegeddon: App Deep Linking Strategies - Pubcon October 2015
Suzzicks
 
Mobile Deep linking
Hsiang-Min Yu
 
android deep linking
Thao Huynh Quang
 
App Deep Linking
Pradeep Kumar Sharma
 
Why Deep Linking is the Next Big Thing: App Indexing - SMX East 2015
Suzzicks
 
Emily Grossman App Indexing SMX West 2017
MobileMoxie
 
Mobile Deep Linking for Apps – What? Why? How?
Branch
 
Mobile Deep Linking - Definition, Benefits and Implementation
Shortcut Media
 
Firebase App Indexing - SMX Advanced
David Iwanow
 
From Website to Web App - Indexing, Optimizing, and Auditing Experiences for ...
MobileMoxie
 
Looking Beyond Website Competition: How Apps Impact Local-Mobile Searches
MobileMoxie
 
Cindy Krum Krum Cindy "What SEOs Need To Know About Progressive Web Apps" SMX...
MobileMoxie
 
How to Optimize Apps for Apple iOS Search and iOS 9 Universal Links By Emily ...
Search Marketing Expo - SMX
 

Viewers also liked (7)

PDF
M Kozlova Portfolio Samples Ln
mkgrafix
 
PPTX
How Deep Linking Can Tackle The Challenges Of Mobile Fragmentation
URX
 
PPTX
App Indexing & Mobile SEO - Friends of Search 2016
MobileMoxie
 
PPTX
The Future of Deep Linking & App Indexing
MobileMoxie
 
PDF
App Indexing, Campixx 2016 Workshop
Jean-Luc Winkler 💡
 
PPTX
Criteo State of Mobile Commerce Q4 2015
Criteo
 
PDF
Deep linking - a fundamental change in the mobile app ecosystem
TUNE
 
M Kozlova Portfolio Samples Ln
mkgrafix
 
How Deep Linking Can Tackle The Challenges Of Mobile Fragmentation
URX
 
App Indexing & Mobile SEO - Friends of Search 2016
MobileMoxie
 
The Future of Deep Linking & App Indexing
MobileMoxie
 
App Indexing, Campixx 2016 Workshop
Jean-Luc Winkler 💡
 
Criteo State of Mobile Commerce Q4 2015
Criteo
 
Deep linking - a fundamental change in the mobile app ecosystem
TUNE
 
Ad

Similar to An Introduction to Deep Linking and App Indexing Codelab (20)

PDF
モバイル検索とアプリ
Kenichi Suzuki
 
PPTX
Google & Bing App Indexing - SMX Munich 2016
MobileMoxie
 
PDF
Deeplinking 101 - Naor Rosenberg, Quixey
DroidConTLV
 
PPTX
App Indexing for Google Search
Andreas Schranzhofer
 
PPTX
Life After Mobilegeddon: App Deep Linking Strategies - Pubcon October 2015
MobileMoxie
 
PDF
Complete A-Z Of Google App Content Indexing And Much More...
Velocity Software
 
PDF
Android: Intent, Intent Filter, Broadcast Receivers
CodeAndroid
 
PPTX
SEO Team Lunch & Learn - App Indexing
Stephanie Wallace
 
PDF
Xamarin Evolve 2016: Mobile search - making your mobile apps stand out
James Montemagno
 
PPTX
Mobile Jedi Mind Tricks: Master the Multi-Screen Universe
MobileMoxie
 
PPTX
SearchLove Boston 2016 | Emily Grossman | Mobile Jedi Mind Tricks: Master the...
Distilled
 
PDF
Don't let your mobile app get lost - iOS Spotlight and App Indexing
James Montemagno
 
PPTX
Android session 2-behestee
Hussain Behestee
 
PPTX
GDG Oslo: Hidden Android features
Konstantin Loginov
 
PDF
Going Deep w Navigation
Eric Maxwell
 
PPTX
Indexing on Fire: Google Firebase Native & Web App Indexing - MozCon 2016
MobileMoxie
 
PPTX
Droidcon: Sean Owen: Driving Downloads via Intents- 29/10/2010
Skills Matter
 
PPTX
DroidConIT Wrap-up - Enchant me
Daniela Mogini
 
PDF
Mobile masters Ecomteam 2016
Bogdan Zaharia
 
PPTX
Preparing for the Mobile Algorithm Shift
Crystal Ware
 
モバイル検索とアプリ
Kenichi Suzuki
 
Google & Bing App Indexing - SMX Munich 2016
MobileMoxie
 
Deeplinking 101 - Naor Rosenberg, Quixey
DroidConTLV
 
App Indexing for Google Search
Andreas Schranzhofer
 
Life After Mobilegeddon: App Deep Linking Strategies - Pubcon October 2015
MobileMoxie
 
Complete A-Z Of Google App Content Indexing And Much More...
Velocity Software
 
Android: Intent, Intent Filter, Broadcast Receivers
CodeAndroid
 
SEO Team Lunch & Learn - App Indexing
Stephanie Wallace
 
Xamarin Evolve 2016: Mobile search - making your mobile apps stand out
James Montemagno
 
Mobile Jedi Mind Tricks: Master the Multi-Screen Universe
MobileMoxie
 
SearchLove Boston 2016 | Emily Grossman | Mobile Jedi Mind Tricks: Master the...
Distilled
 
Don't let your mobile app get lost - iOS Spotlight and App Indexing
James Montemagno
 
Android session 2-behestee
Hussain Behestee
 
GDG Oslo: Hidden Android features
Konstantin Loginov
 
Going Deep w Navigation
Eric Maxwell
 
Indexing on Fire: Google Firebase Native & Web App Indexing - MozCon 2016
MobileMoxie
 
Droidcon: Sean Owen: Driving Downloads via Intents- 29/10/2010
Skills Matter
 
DroidConIT Wrap-up - Enchant me
Daniela Mogini
 
Mobile masters Ecomteam 2016
Bogdan Zaharia
 
Preparing for the Mobile Algorithm Shift
Crystal Ware
 
Ad

More from Jarek Wilkiewicz (6)

PDF
HP MMC Datasheet Final
Jarek Wilkiewicz
 
PDF
HP mProve Datasheet Final
Jarek Wilkiewicz
 
PDF
Developing VoIP Applications with SIP Servlets, SDForum Java SIG, Nov 2007
Jarek Wilkiewicz
 
PDF
YouTube APIs presentation at Facultad de Ciencias, Universidad Nacional Autón...
Jarek Wilkiewicz
 
PDF
YouTube APIs Workshop
Jarek Wilkiewicz
 
PDF
Building Video Applications with YouTube APIs
Jarek Wilkiewicz
 
HP MMC Datasheet Final
Jarek Wilkiewicz
 
HP mProve Datasheet Final
Jarek Wilkiewicz
 
Developing VoIP Applications with SIP Servlets, SDForum Java SIG, Nov 2007
Jarek Wilkiewicz
 
YouTube APIs presentation at Facultad de Ciencias, Universidad Nacional Autón...
Jarek Wilkiewicz
 
YouTube APIs Workshop
Jarek Wilkiewicz
 
Building Video Applications with YouTube APIs
Jarek Wilkiewicz
 

Recently uploaded (20)

PDF
SFWelly Summer 25 Release Highlights July 2025
Anna Loughnan Colquhoun
 
PDF
Log-Based Anomaly Detection: Enhancing System Reliability with Machine Learning
Mohammed BEKKOUCHE
 
PDF
July Patch Tuesday
Ivanti
 
PDF
Smart Air Quality Monitoring with Serrax AQM190 LITE
SERRAX TECHNOLOGIES LLP
 
PPTX
Building a Production-Ready Barts Health Secure Data Environment Tooling, Acc...
Barts Health
 
PPTX
Darren Mills The Migration Modernization Balancing Act: Navigating Risks and...
AWS Chicago
 
PDF
Rethinking Security Operations - SOC Evolution Journey.pdf
Haris Chughtai
 
PDF
Wojciech Ciemski for Top Cyber News MAGAZINE. June 2025
Dr. Ludmila Morozova-Buss
 
PDF
Human-centred design in online workplace learning and relationship to engagem...
Tracy Tang
 
PPTX
MSP360 Backup Scheduling and Retention Best Practices.pptx
MSP360
 
PDF
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
PPTX
Top Managed Service Providers in Los Angeles
Captain IT
 
PPTX
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
PDF
Impact of IEEE Computer Society in Advancing Emerging Technologies including ...
Hironori Washizaki
 
PDF
Windsurf Meetup Ottawa 2025-07-12 - Planning Mode at Reliza.pdf
Pavel Shukhman
 
PPTX
Building and Operating a Private Cloud with CloudStack and LINBIT CloudStack ...
ShapeBlue
 
PDF
Meetup Kickoff & Welcome - Rohit Yadav, CSIUG Chairman
ShapeBlue
 
PPTX
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
PDF
Empowering Cloud Providers with Apache CloudStack and Stackbill
ShapeBlue
 
PDF
NewMind AI Journal - Weekly Chronicles - July'25 Week II
NewMind AI
 
SFWelly Summer 25 Release Highlights July 2025
Anna Loughnan Colquhoun
 
Log-Based Anomaly Detection: Enhancing System Reliability with Machine Learning
Mohammed BEKKOUCHE
 
July Patch Tuesday
Ivanti
 
Smart Air Quality Monitoring with Serrax AQM190 LITE
SERRAX TECHNOLOGIES LLP
 
Building a Production-Ready Barts Health Secure Data Environment Tooling, Acc...
Barts Health
 
Darren Mills The Migration Modernization Balancing Act: Navigating Risks and...
AWS Chicago
 
Rethinking Security Operations - SOC Evolution Journey.pdf
Haris Chughtai
 
Wojciech Ciemski for Top Cyber News MAGAZINE. June 2025
Dr. Ludmila Morozova-Buss
 
Human-centred design in online workplace learning and relationship to engagem...
Tracy Tang
 
MSP360 Backup Scheduling and Retention Best Practices.pptx
MSP360
 
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
Top Managed Service Providers in Los Angeles
Captain IT
 
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
Impact of IEEE Computer Society in Advancing Emerging Technologies including ...
Hironori Washizaki
 
Windsurf Meetup Ottawa 2025-07-12 - Planning Mode at Reliza.pdf
Pavel Shukhman
 
Building and Operating a Private Cloud with CloudStack and LINBIT CloudStack ...
ShapeBlue
 
Meetup Kickoff & Welcome - Rohit Yadav, CSIUG Chairman
ShapeBlue
 
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
Empowering Cloud Providers with Apache CloudStack and Stackbill
ShapeBlue
 
NewMind AI Journal - Weekly Chronicles - July'25 Week II
NewMind AI
 

An Introduction to Deep Linking and App Indexing Codelab