'

Beyond The Web: Why App Deep Linking Is The Next Big Thing

Понравилась презентация – покажи это...





Слайд 0

Beyond The Web: Why App Deep Linking Is The Next Big Thing Emily Grossman, MobileMoxie #SMX #23C @goutaste


Слайд 1

ü  Meta-data can provide a “preview” of the type of content in the app ü  You don’t know what’s IN the app until you download it ü  App Store search is heavy on brand and head terms vs. long tail #SMX #23C @goutaste


Слайд 2

“Google’s mission is to organize the world’s information and make it universally accessible and useful.” - Google’s initial mission statement - #SMX #23C @goutaste


Слайд 3

#SMX #23C @goutaste


Слайд 4

http://www.tripadvisor.com/Hotel_Review-g33388-d83020ReviewsThe_Curtis_Denver_a_DoubleTree_by_Hilton_HotelDenver_Colorado.html tripadvisor://Hotel_Review-g33388-d83020-ReviewsThe_Curtis_Denver_a_DoubleTree_by_Hilton_HotelDenver_Colorado.html #SMX #23C @goutaste


Слайд 5

bit.ly/appindexinggoogle Google App Indexing #SMX #23C @goutaste


Слайд 6

#SMX #23C @goutaste


Слайд 7

#SMX #23C @goutaste


Слайд 8

AUG AUG 1 1 25 #SMX #23C @goutaste


Слайд 9

AUG AUG 1 1 29 #SMX #23C @goutaste


Слайд 10

#SMX #23C @goutaste


Слайд 11

Google App Indexing: ANDROID #SMX #23C @goutaste


Слайд 12

Android – Intent Filters Create Intent Filters: Custom URL Scheme HTTP URL Scheme #SMX #23C @goutaste


Слайд 13

Android – Intent filters Intent Filters need: <action> <data> android:scheme android:path <category> #SMX #23C @goutaste


Слайд 14

Android App Indexing API Deep Link to previouslyviewed ‘Calafia Café’ screen in the Zagat app #SMX #23C @goutaste


Слайд 15

Android App Indexing API ... public class MainActivity extends Activity {   static final Uri APP_URI = Uri.parse("android-app://com.example.android.recipes/http/recipeapp.com/recipes");   static final Uri WEB_URL = Uri.parse("http://recipe-app.com/recipes/");   private GoogleApiClient mClient;     ...    }                   @Override public void onStop() {   ...   // Call end() and disconnect the client   String title = "App Indexing API Title";   Action viewAction = Action.newAction(Action.TYPE_VIEW, title, WEB_URL, APP_URI);   AppIndex.AppIndexApi.end(mClient, viewAction);   mClient.disconnect();   ... Full code sample here: bit.ly/appindexingAPIcode #SMX #23C @goutaste


Слайд 16

Android – Robots.txt (Required if you don’t use the API) Update App’s Robots.txt: User-Agent: Googlebot Allow: / #SMX #23C @goutaste


Слайд 17

Custom URL Schemes: Web Markup #SMX #23C @goutaste


Слайд 18

Android Deep Link URL Format: android-app://com.travel_app/travel_app/travel-app.com/hotels/curtis-hotel-denver Protocol PackageID Scheme (custom) Host Path #SMX #23C @goutaste


Слайд 19

Rel=alternate Schema XML Sitemaps <head> ... <link rel="alternate" href="android-app://com.travelapp.android/http/travelapp.com/ examplescreen" /> ... </head> <head> ... <link rel="alternate" href="android-app://com.travelapp.android/travelapp/ examplescreen" /> <link rel="alternate" href="ios-app://123456/travelapp/examplescreen" /> ... </head> #SMX #23C @goutaste


Слайд 20

Rel=alternate Schema XML Sitemaps <?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://travelwebsite.com/examplepage</loc> <xhtml:link rel="alternate" href="android-app://com.travelapp.android/travelapp/ examplescreen" /> <xhtml:link rel="alternate" href="ios-app://123456/travelapp/examplescreen" /></url> <xhtml:link rel="alternate" href="android-app://com.travelapp.android/http/travelapp.com/ examplescreen" /> ... </urlset> #SMX #23C @goutaste


Слайд 21

Rel=alternate Schema XML Sitemaps <script type="application/ld+json"> { "@context": "http://schema.org", "@type": "WebPage", "@id": "http://travelwebsite.com/examplepage", "potentialAction": { "@type": "ViewAction", "target": "android-app://com.travelapp.android/http/travelapp.com/examplescreen" } } </script> #SMX #23C @goutaste


Слайд 22

Android – Google Play Developer Console/ Google Search Console Sync #SMX #23C @goutaste


Слайд 23

Google App Indexing: iOS #SMX #23C @goutaste


Слайд 24

The Good News Is… #SMX #23C @goutaste


Слайд 25

The Bad News Is… #SMX #23C @goutaste


Слайд 26

iOS – Support Universal Links Anatomy of a Universal Link: https://subdomain.domain.com/path/subpath/ Scheme “http” or “https” Domain or Host Name Path or Prefix #SMX #23C @goutaste


Слайд 27

iOS – Support Universal Links Requirements: • A registered domain • SSL access to your domain • Ability to upload a JSON file to your domain #SMX #23C @goutaste


Слайд 28

iOS – Support Universal Links 1 Get Your App Ready •  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/UIApplicationDelegateReference WATCH: http://bit.ly/appleuniversallinks #SMX #23C @goutaste


Слайд 29

iOS – Support Universal Links 2 Get Your Server Ready •  Create an apple-app-siteassociation file for each associated domain with the content your app supports and host it at the root level. { "applinks": { "apps": [], "details": {  »ABC0123.com.domain.App": { "paths":[ "*" ] } } } } 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. #SMX #23C @goutaste


Слайд 30

iOS – Support Universal Links 2 Get Your Server Ready { "applinks": { "apps": [], "details": {  »ABC0123.com.domain.App": { "paths":[ ”/folder/subfolder/”, ”/folder2/subfolder2/*”, ] } } } •  Create an apple-app-siteassociation 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. } #SMX #23C @goutaste


Слайд 31

iOS – Cocoapods Support #SMX #23C @goutaste


Слайд 32

iOS – Cocoapods Support #SMX #23C @goutaste


Слайд 33

iOS – Cocoapods Support #SMX #23C @goutaste


Слайд 34

iOS – Cocoapods Support 1.  Use most up-to-date version of CocoaPods 2.  Add ‘GoogleAppIndexing’ pod to Podfile 3.  Save and Install Pod pod 'GoogleAppIndexing' pod install 4.  Import GoogleAppIndexing #import <GoogleAppIndexing/GoogleAppIndexing.h> 5.  Register app [[GSDAppIndexing sharedInstance] registerApp:your iTunes ID]; #SMX #23C @goutaste


Слайд 35

Custom URL Schemes: Web Markup #SMX #23C @goutaste


Слайд 36

iOS – Testing Image attribution: http://k9s4cops.org/coming-soon-the-pack/ #SMX #23C @goutaste


Слайд 37

Apple Search App Indexing #SMX #23C @goutaste


Слайд 38

“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 #23C @goutaste


Слайд 39

Apple Search SPOTLIGHT SIRI SAFARI #SMX #23C @goutaste


Слайд 40

High-Engagement App Screens Suggested in ‘Siri Suggestions’ on iOS 9 Spotlight #SMX #23C @goutaste


Слайд 41

Apple Search Sources from Two Indexes DEVICE INDEX (PRIVATE) CLOUD INDEX (PUBLIC) #SMX #23C @goutaste


Слайд 42

APPLE SEARCH APP INDEXING CoreSpotlight NSUserActivity #SMX #23C Web Markup @goutaste


Слайд 43

Apple Search App Indexing Option 1: NSUserActivity #SMX #23C @goutaste


Слайд 44

Core Spotlight NSUserActivity Web Markup Private Public Used for… Indexing app screens that contain private/ personal data Used for… Indexing private and public navigation points in the app Used for… Indexing public app screens that mirror content on the web Does NOT require corresponding web content Does NOT require corresponding web content DOES require corresponding web content Add code to APP Add code to APP Add code to WEB Private Device Index Private Device Index and/ or Public Cloud Index Public Cloud Index #SMX #23C @goutaste


Слайд 45

NSUserActivity Private or Public Public Only Search results meta data for display and rankings ‘Canonical’ More info here: bit.ly/NSUserActivity #SMX #23C @goutaste


Слайд 46

PUBLIC APP SCREEN PRIVATE APP SCREEN CoreSpotlight Web Markup NSUserActivity NSUserActivity with var eligibleForSearch with var eligibleForPublicIndexing Private/ Device Index Public/ Cloud Index #SMX #23C @goutaste


Слайд 47

Apple Search App Indexing Option 2: Core Spotlight #SMX #23C @goutaste


Слайд 48

Core Spotlight NSUserActivity Web Markup Private Public Used for… Indexing app screens that contain private/ personal data Used for… Indexing private and public navigation points in the app Used for… Indexing public app screens that mirror content on the web Does NOT require corresponding web content Does NOT require corresponding web content DOES require corresponding web content Add code to APP Add code to APP Add code to WEB Private Device Index Private Device Index and/ or Public Cloud Index Public Cloud Index #SMX #23C @goutaste


Слайд 49

CoreSpotlight Search results meta data for display and rankings More info here: bit.ly/corespotlight #SMX #23C @goutaste


Слайд 50

Apple Search App Indexing Option 3: Web Markup #SMX #23C @goutaste


Слайд 51

PUBLIC APP SCREEN PRIVATE APP SCREEN CoreSpotlight Web Markup NSUserActivity NSUserActivity with var eligibleForSearch with var eligibleForPublicIndexing Private/ Device Index Public/ Cloud Index #SMX #23C @goutaste


Слайд 52

Core Spotlight NSUserActivity Web Markup Private Public Used for… Indexing app screens that contain private/ personal data Used for… Indexing private and public navigation points in the app Used for… Indexing public app screens that mirror content on the web Does NOT require corresponding web content Does NOT require corresponding web content DOES require corresponding web content Add code to APP Add code to APP Add code to WEB Private Device Index Private Device Index and/ or Public Cloud Index Public Cloud Index #SMX #23C @goutaste


Слайд 53

Web Markup #SMX #23C @goutaste


Слайд 54

Web Markup Twitter Cards Smart App Banners AppLinks #SMX #23C @goutaste


Слайд 55

Web Markup Twitter Cards Smart App Banners AppLinks #SMX #23C @goutaste


Слайд 56

Web Markup Twitter Cards Smart App Banners AppLinks #SMX #23C @goutaste


Слайд 57

Web Markup – Meta Data (Schema & Open Graph) #SMX #23C @goutaste


Слайд 58

http://bit.ly/applesearchvalidator #SMX #23C @goutaste


Слайд 59

THANK YOU! SEE YOU @SMX WEST SAN JOSE, CA MARCH 1-3, 2016 #SMX #23C @goutaste


Слайд 60


×

HTML:





Ссылка: