Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

How to Setup App Indexation


Published on

Overview of how to setup up app indexing inside of a mobile application. Includes the technical implementation for Android and Windows Phone, as well as some speculation about iOS app indexing support. Covers Bing App Linking setup as well.

Topics Covered include:
- App URI format for deep links
- Creating an intent filter and view action in AndroidManifest.xml
- Crawl of app URI via rel=alternate, schema ViewAction in JSON-LD, and annotations in XML Sitemap
- Managing noindex for app indexing via noindex.xml in the App Resource Directory
- App indexing API
- App appearance in autocomplete
- App actions via knowledge graph and app indexing
- Listen actions in JSON-LD
- App actions in search results via Knowledge Graph
- iOS app indexing for Apple devices
- Windows Phone and Window App indexing via Bing App Linking

Published in: Mobile
  • Hey guys! Who wants to chat with me? More photos with me here 👉
    Are you sure you want to  Yes  No
    Your message goes here

How to Setup App Indexation

  1. 1. How to Setup App Indexation
  2. 2. Justin Briggs Founder, Briggsby @JustinRBriggs Taking on new clients
  3. 3. Search is fundamentally shifting
  4. 4. Search as an Interface Visits to app, not websites Takes action on your behalf Hands free UI (wearables) Solutions, not web pages Search examples:
  5. 5. Creating Indexable Apps
  6. 6. App Deep Links android-app://{package_id}/{scheme}/{host_path} Ø  package_id - app ID in Play store Ø  scheme - http or custom scheme Ø  host_path - specific content within app
  7. 7. Intent Filter: AndroidManifest.xml Defines the structure of your app URIs <activity android:name="" android:label="@string/title_gizmos" > <intent-filter android:label="@string/filter_title_viewgizmos"> <action android:name="android.intent.action.VIEW" /> <!-- Accepts URIs that begin with "” --> <data android:scheme="http" android:host="" android:pathPrefix="/gizmos" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> </intent-filter> </activity>
  8. 8. Testing Deep Links Will launch app deep link
  9. 9. Verify site with Google Play Developer Console & Webmaster Tools
  10. 10. Connect in Google Play Console Verify the app’s website
  11. 11. Annotate site for app URI discovery via crawl
  12. 12. Three Ways to Expose App URI <html> <head> ... <link rel="alternate" href="android-app:// gizmos" /> ... </head> <body> … </body> Rel=“alternate” ViewAction XML Sitemap
  13. 13. Three Ways to Expose App URI <script type="application/ld+json"> { "@context": "", "@type": "WebPage", "@id": "", "potentialAction": { "@type": "ViewAction", "target": "android-app:// gizmos" } } </script> Rel=“alternate” ViewAction XML Sitemap
  14. 14. Three Ways to Expose App URI <?xml version="1.0" encoding="UTF-8" ?> <urlset xmlns=" schemas/sitemap/0.9" xmlns:xhtml=" xhtml"> <url> <loc></loc> <xhtml:link rel="alternate" href="android- app:// gizmos" /> </url> ... </urlset> Rel=“alternate” ViewAction XML Sitemap
  15. 15. Very similar to a mobile separate-site setup
  16. 16. Launch App From Search App launch can be default behavior… Clicking this launches the app!
  17. 17. Manage indexing with robots noindex in app
  18. 18. Indexing Control for Apps <?xml version="1.0" encoding="utf-8"?> <search-engine xmlns:android="http://"> <noindex uri=""/> <noindex uriPrefix=" hidden_prefix"/> <noindex uri="gizmos://hidden_path"/> <noindex uriPrefix="gizmos://hidden_prefix"/> </search-engine> App Resource Directory Android Manifest
  19. 19. Indexing Control for Apps <manifest xmlns:android=" android" package=""> <application> <activity android:name="" android:label="@string/title_gizmos" > <intent-filter android:label="@string/filter_title_viewgizmos"> <action android:name="android.intent.action.VIEW"/> ... </activity> <meta-data android:name="search-engine" android:resource="@xml/noindex"/> </application> <uses-permission android:name="android.permission.INTERNET"/> </manifest> App Resource Directory Android Manifest
  20. 20. Push to Google with App Indexing API
  21. 21. Autocomplete App Suggestions
  22. 22. Search as an interface with app actions
  23. 23. Building an Action Graph App Indexing Knowledge Graph App Actions+ =
  24. 24. Leverage Actions <script type="application/ld+json"> { "@context": "", "@type": "MusicGroup", "name": "Weezer", "potentialAction": { "@type": "ListenAction", "target": "android-app://" } } </script>
  25. 25. App Actions in Search
  26. 26. What about iOS?
  27. 27. Close to Release? iOS app indexing in the wild Validates in testing tool
  28. 28. Bing App Linking
  29. 29. Launch Windows Apps From Bing Image:
  30. 30. Bing App Linking 1.  Copy Windows (Phone) Store URL 2.  Go to Bing Webmaster Tools to configured App Linking 3.  In Configure My Site > Connected Pages paste URL 4.  Verify Schema Markup Enable Deep Linking Register App Link Site to App
  31. 31. Bing App Linking <script type="application/ld+json"> { "@context": "", "@type": "WebPage", "operation": { "@type": "ViewAction", "actionHandler": [ { "@type": "WindowsActionHandler", "applicationId": "4db19603-c4e0-4112-895e-46981d785682", "packageFamilyName": "Contoso.Contoso_54hhd3ev8bvz9", "arguments": "cityId=1&restaurantId=5609", "minVersion": "" },{ "@type": "WindowsPhoneActionHandler", "applicationId": "08f1f665-222d-422c-9f99-bc3e0dd34433", "minVersion": "", "arguments": "cityId=1&restaurantId=5609" } ] } } </script> Schema Markup Enable Deep Linking Register App Link Site to App
  32. 32. Bing App Linking You can create deep links from web search results to your app by interpreting launch arguments. Different for Windows Runtime vs. Silverlight Windows. Schema Markup Enable Deep Linking Register App Link Site to App
  33. 33. Bing App Linking Use Bing App Linking Test Tool (.exe) Schema Markup Enable Deep Linking Register App Link Site to App
  34. 34. App Indexing Resources Everything You Need to Know About Mobile App Search: Google Developers: App Indexing: App Indexing Code Lab: Bing App Linking:
  35. 35. People to Follow Lawrence Chang, Google: Jarek Wilkiewicz, Google: Shawn Simister, Google:
  36. 36. Thanks!