Upload
mobilemoxie
View
386
Download
2
Embed Size (px)
Citation preview
#SMX #32A @goutasteWhat You Need To Know About Apple iOS App Search & Universal Links
How To Optimize Apps for
Apple iOS Search & iOS 9 Universal
Links
#SMX #32A @goutaste
#SMX #32A @goutaste
#SMX #32A @goutaste
“75% of Google Search Revenue in 2014 came from
ads on iPhones & iPads.”- Goldman Sachs -
#SMX #32A @goutaste
Safari Market Share in Mobile
Worldwide Mobile BrowserMarket Share 2/2014http://bit.ly/mobile-browser-share-2014
53.52%
23.84%4.57%
12.09%
#SMX #32A @goutaste
#SMX #32A @goutaste
“Apple’s App Store commission is
now at a run-rate of $9 billion, more than its total revenue in the year the iPod launched.”
- Benedict Evans, @BenedictEvans -
#SMX #32A @goutaste
APP WEB
http://www.imdb.com/title/tt0362359/
#SMX #32A @goutaste
“One Link to Rule Them All”
#SMX #32A @goutaste
SPOTLIGHT SAFARISIRI
#SMX #32A @goutaste
High-EngagementApp ScreensSuggested in
‘Siri Suggestions’
on iOS 9 Spotlight
#SMX #32A @goutaste
Universal Links 101
#SMX #32A @goutasteSource: https://dev.branch.io/recipes/branch_universal_links/ios/#which-appsbrowsers-support-universal-links
Universal Links Are Not 100%
“Universal” Yet
“Conditionally” means issues like…• Will NOT work when
pasted into URL field• Will work with a <a
href=“..”> click across domains (ie Google IMDB)
• Will NOT work with a <a href=“…”> on the same domain (ie IMDB IMDB)
#SMX #32A @goutaste
Google App Indexing for iOS Apps Requires Universal Links
Source: bit.ly/GoogleAppIndexing-iOS
#SMX #32A @goutaste
https://subdomain.domain.com/path/subpath/Scheme
“http” or “https” Domain or Host Name Path or Prefix
Anatomy of a Universal Link:
#SMX #32A @goutaste
Requirements:• A registered domain• SSL access to your domain• Ability to upload a JSON file to your domain
#SMX #32A @goutaste
1
• Modify your application delegate
• Adopt an entitlement in Xcode that lists each domain associated with your app
READ:http://bit.ly/ios9universallinks http://bit.ly/UIApplicationDelegate-ReferenceWATCH: http://bit.ly/appleuniversallinks
Prepare App
#SMX #32A @goutaste
{ "applinks": { "apps": [], "details": { »ABC0123.com.domain.App": { "paths":[ "*" ] } } }}
Create an apple-app-site-association file for each associated domain with the content your app supports and host it at the root level.
NOTE: The association file must be hosted on a domain that supports HTTPS/TLS, even if the HTTP deep links are not themselves served via HTTPS.
2Associate App With Website
#SMX #32A @goutaste
{ "applinks": { "apps": [], "details": { »ABC0123.com.domain.App": { "paths":[
”/folder/subfolder/”,
”/folder2/subfolder2/*”, ] } } }}
Modify apple-app-site-association file to specify only the content that is parallel between the app and the website.
3 Control Paths
#SMX #32A @goutaste
Universal Links Services:
1-click and you’re done
Branch.ioYozioDeeplink.meHOKO
#SMX #32A @goutaste
Apple Search App Indexing
#SMX #32A @goutaste
CoreSpotlight
NSUserActivity Web Markup
#SMX #32A @goutaste
Core Spotlight NSUserActivity Web Markup
Used for… Indexing public app screens that mirror content on the web
DOES require corresponding web content
Add code to WEB
Public Cloud Index
Used for… Indexing app screens that contain private/ personal data
Does NOT require corresponding web content
Add code to APP
Private Device Index
Used for… Indexing private and public navigation points in the app
Does NOT require corresponding web content
Add code to APP
Private Device Index and/ or Public Cloud Index
Private Public
#SMX #32A @goutaste
TYPE OF SCREEN API TO USE
Content that the user views NSUserActivity
Frequently used navigation points and features NSUserActivity
Content created or curated by the user, such as photos or a list of favorites Core Spotlight
New messages, content, or items that arrive on the device Core Spotlight
Content that lives in both your app and your website Web Markup
#SMX #32A @goutaste
#SMX #32A @goutaste
Travel App:Reservation Confirmations Screen
?
#SMX #32A @goutaste
Core Spotlight!
#SMX #32A @goutaste
Travel App: Flight results for previously-searched
travel dates
?
#SMX #32A @goutaste
NSUserActivity!Bonus Points: Private
#SMX #32A @goutaste
Travel App: Hotel Info Screen
?
#SMX #32A @goutaste
Web Markup! Bonus points: with schema on
ratings & prices
#SMX #32A @goutaste
NSUserActivity
#SMX #32A @goutaste
Private or PublicPublic Only
Search results
meta data for
display and rankings
‘Canonical’
More info here: bit.ly/NSUserActivity
NSUserActivity
#SMX #32A @goutaste
CoreSpotlight
NSUserActivity
Web Markup
NSUserActivity
var eligibleForSearch var eligibleForPublicIndexing
Private/Device Index
Public/ Cloud Index
PRIVATE APP SCREEN PUBLIC APP SCREEN
#SMX #32A @goutaste
CoreSpotlight
#SMX #32A @goutaste
Search results meta data for
display and rankings
More info here: bit.ly/corespotlight
CoreSpotlight
#SMX #32A @goutaste
Web Markup
#SMX #32A @goutaste
Web Markup
#SMX #32A @goutaste
Twitter Cards AppLinks Smart App Banners
Web Markup
#SMX #32A @goutaste
Twitter Cards AppLinks Smart App Banners
Web Markup
#SMX #32A @goutaste
Twitter Cards AppLinks Smart App Banners
Web Markup
#SMX #32A @goutaste
Web Markup – Visual Presentation
SCHEMA
SCHEMA
SCHEMASCHEMA
OG TAG
#SMX #32A @goutaste
bit.ly/applesearchvalidator
#SMX #32A @goutaste
bit.ly/universal-links-tool
#SMX #32A @goutaste
Further Reading• Universal Links:• https://developer.apple.com/library/ios/documentation/General/Conceptual/AppSearch
/UniversalLinks.html
• https://developers.google.com/app-indexing/ios/app• https://blog.branch.io/how-to-setup-universal-links-to-deep-link-on-apple-ios-9• https://blog.branch.io/best-practices-for-ios-9-universal-links• http://support.hokolinks.com/ios/universal-links• https
://dev.branch.io/recipes/branch_universal_links/ios/#which-appsbrowsers-support-universal-links
• https://blog.branch.io/ios-9.2-deep-linking-guide-transitioning-to-universal-links
#SMX #32A @goutaste
Further Reading• Apple App Indexing:• http://searchengineland.com/app-indexing-new-frontier-seo-apple-search-ios-app-inde
xing-223880• https
://developer.apple.com/library/ios/documentation/General/Conceptual/AppSearch/Activities.html#//apple_ref/doc/uid/TP40016308-CH6-SW1
• https://developer.apple.com/library/ios/documentation/Foundation/Reference/NSUserActivity_Class/
• https://developer.apple.com/library/ios/documentation/General/Conceptual/AppSearch/AppContent.html#//apple_ref/doc/uid/TP40016308-CH7-SW1
• https://developer.apple.com/library/ios/documentation/CoreSpotlight/Reference/CoreSpotlight_Framework/
• https://developer.apple.com/library/prerelease/ios/documentation/CoreSpotlight/Reference/CSSearchableItemAttributeSet_Class/index.html#//apple_ref/occ/instp/CSSearchableItemAttributeSet/title
• https://developer.apple.com/library/ios/documentation/General/Conceptual/AppSearch/WebContent.html#//apple_ref/doc/uid/TP40016308-CH8-SW1
#SMX #32A @goutaste
Emily [email protected]@goutaste
www.mobilemoxie.com2 Months Free Code: SMXWEST16
facebook.com/mobilemoxie@mobilemoxie
#SMX #32A @goutaste