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.

Emily Grossman App Indexing SMX West 2017

Getting app indexing right can improve mobile user experience, drive higher engagement and lead to better conversions. Google's Firebase App Indexing gets your app into Google mobile search results, whether your app is installed on a device or not.

This session takes a deep dive into the technical implementation of the Firebase App Indexing and APIs. You'll hear case studies demonstrating the results you can achieve by implementing these techniques and learn about common pitfalls and errors you can expect and how to avoid them.

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all
  • Be the first to comment

  • Be the first to like this

Emily Grossman App Indexing SMX West 2017

  1. 1. #SMX #23A2 @goutaste Emily Grossman, Director of App Strategy at MobileMoxie What's New With Google Firebase App Indexing
  2. 2. #SMX #23A2 @goutaste Use Impact Visuals Above, Move Presentation Title As Needed TITLE SLIDE ALTERNATIVE LAYOUT w/ *EXAMPLE* IMAGE (SWAP IN YOUR OWN AS NEEDED) App Indexing Promised Benefits
  3. 3. #SMX #23A2 @goutaste Personal Content Autocomplete Install Buttons Rankings Boost Deep Links to App Content Rich Search Results (icons+) Personal & private content can be indexed in Android On-Device Search Android deep links appear in Autocomplete In Google app based on engagement signals Install buttons can appear on web results when app is not installed; improve acquisition App &Webpage rank as a pair; Pair gets rankings boost for implementing & for API Search Results link to app instead of website (when installed) Search Results get app icon; increase CTR How App Indexing Is Supposed to Benefit Publishers
  4. 4. #SMX #23A2 @goutaste Personal Content Autocomplete Install Buttons Rankings Boost Deep Links to App Content Rich Search Results (icons+) Personal & private content can be indexed in Android On-Device Search Android deep links appear in Autocomplete In Google app based on engagement signals Install buttons can appear on web results when app is not installed; improve acquisition App &Webpage rank as a pair; Pair gets rankings boost for implementing & for API Search Results link to app instead of website (when installed) Search Results get app icon; increase CTR Which Benefits Have Changed ANDROID ONLY
  5. 5. #SMX #23A2 @goutaste Personal Content Autocomplete Install Buttons Rankings Boost Deep Links to App Content Rich Search Results (icons+) Personal & private content can be indexed in Android On-Device Search Android deep links appear in Autocomplete In Google app based on engagement signals Install buttons can appear on web results when app is not installed; improve acquisition App &Webpage rank as a pair; Pair gets rankings boost for implementing & for API Search Results link to app instead of website (when installed) Search Results get app icon; increase CTR Which Benefits Have Changed VOID IF AMP ON SAME URL ANDROID ONLY
  6. 6. #SMX #23A2 @goutaste Personal Content Autocomplete Install Buttons Rankings Boost Deep Links to App Content Rich Search Results (icons+) Personal & private content can be indexed in Android On-Device Search Android deep links appear in Autocomplete In Google app based on engagement signals Install buttons can appear on web results when app is not installed; improve acquisition App &Webpage rank as a pair; Pair gets rankings boost for implementing & for API Search Results link to app instead of website (when installed) Search Results get app icon; increase CTR Which Benefits Have Changed ANDROID ONLY (?) VOID IF AMP ON SAME URL ANDROID ONLY
  7. 7. #SMX #23A2 @goutaste Personal Content Autocomplete Install Buttons Rankings Boost Deep Links to App Content Rich Search Results (icons+) Personal & private content can be indexed in Android On-Device Search Android deep links appear in Autocomplete In Google app based on engagement signals Install buttons can appear on web results when app is not installed; improve acquisition App &Webpage rank as a pair; Pair gets rankings boost for implementing & for API Search Results link to app instead of website (when installed) Search Results get app icon; increase CTR Which Benefits Have Changed ONLY ON HOME SCREEN/ PAGE ANDROID ONLY (?) VOID IF AMP ON SAME URL ANDROID ONLY
  8. 8. #SMX #23A2 @goutaste Personal Content Autocomplete Install Buttons Rankings Boost Deep Links to App Content Rich Search Results (icons+) Personal & private content can be indexed in Android On-Device Search Android deep links appear in Autocomplete In Google app based on engagement signals Install buttons can appear on web results when app is not installed; improve acquisition App &Webpage rank as a pair; Pair gets rankings boost for implementing & for API Search Results link to app instead of website (when installed) Search Results get app icon; increase CTR Which Benefits Have Changed NO CHANGE ONLY ON HOME SCREEN/ PAGE ANDROID ONLY (?) VOID IF AMP ON SAME URL ANDROID ONLY
  9. 9. #SMX #23A2 @goutaste Personal Content Autocomplete Install Buttons Rankings Boost Deep Links to App Content Rich Search Results (icons+) Personal & private content can be indexed in Android On-Device Search Android deep links appear in Autocomplete In Google app based on engagement signals Install buttons can appear on web results when app is not installed; improve acquisition App &Webpage rank as a pair; Pair gets rankings boost for implementing & for API Search Results link to app instead of website (when installed) Search Results get app icon; increase CTR Which Benefits Have Changed OUT OF BETA (YAY!) NO CHANGE ONLY ON HOME SCREEN/ PAGE ANDROID ONLY (?) VOID IF AMP ON SAME URL ANDROID ONLY
  10. 10. #SMX #23A2 @goutaste On the Horizon: ‘Android Instant Apps’  Run Android Apps without installation  Currently in limited release  Built off the same deep linking framework as App Indexing
  11. 11. #SMX #23A2 @goutaste Use Impact Visuals Above, Move Presentation Title As Needed TITLE SLIDE ALTERNATIVE LAYOUT w/ *EXAMPLE* IMAGE (SWAP IN YOUR OWN AS NEEDED) App Indexing Implementation Changes
  12. 12. #SMX #23A2 @goutaste App Indexing Process – Until Fall of 2016 Support HTTP URLs (HTTP URLs + Digital Asset Links File) App Indexing API Test & Report (Many Tools + Search Console) Support Universal Links (HTTP URLs + App Site Association File) App Indexing Pod Test (New Tool! But no Search Console) ANDROID iOS
  13. 13. #SMX #23A2 @goutaste App Indexing Process – After Fall of 2016 Support HTTP URLs (HTTP URLs + Digital Asset Links File) App Indexing API Test & Report (Many Tools + Search Console) Support Universal Links (HTTP URLs + App Site Association File) App Indexing Pod Test (New Tool! But no Search Console) Migrate To new API Version 10 or higher Add Personal/zed & private Content This still exists but is kinda irrelevant ANDROID iOS
  14. 14. #SMX #23A2 @goutaste Use Impact Visuals Above, Move Presentation Title As Needed TITLE SLIDE ALTERNATIVE LAYOUT w/ *EXAMPLE* IMAGE (SWAP IN YOUR OWN AS NEEDED) Step-By-Step
  15. 15. #SMX #23A2 @goutaste App Indexing Process – After Fall of 2016 Support HTTP URLs (HTTP URLs + Digital Asset Links File) App Indexing API Test & Report (Many Tools + Search Console) Support Universal Links (HTTP URLs + App Site Association File) App Indexing Pod Test (New Tool! But no Search Console) Migrate To new API Version 10 or higher Add Personal/zed & private Content This still exists but is kinda irrelevant ANDROID iOS
  16. 16. #SMX #23A2 @goutaste Use Impact Visuals Above, Move Presentation Title As Needed TITLE SLIDE ALTERNATIVE LAYOUT w/ *EXAMPLE* IMAGE (SWAP IN YOUR OWN AS NEEDED) Android HTTP URLs
  17. 17. #SMX #23A2 @goutaste Support HTTP URLs (Add & Handle Intent Filers) You think this is easy but consider...  Does everything in this folder have app content?  Does your app content match your web content?  What happens if you retire content in the app but not the web?  Have you considered https URLs? https://firebase.google.com/docs/app-indexing/android/public-content
  18. 18. #SMX #23A2 @goutaste Android Manifest Horror Stories Your developer might also just duck up the implementation…
  19. 19. #SMX #23A2 @goutaste Add Digital Asset Links File To Web "relation": ["delegate_permission/common.handle_all_urls"], "target": { "namespace": "web", "site": "https://host.sampleapp.com" },{ "relation": ["delegate_permission/common.handle_all_urls"], "target": { "namespace": "android_app", "package_name": “com.host.sampleapp", "sha256_cert_fingerprints": ["10:39:38:EE:45:37:E5:9E:8E:E7:92:F6:54:50:4F:B8:34:6F:C6:B3:46:D0:BB:C4 :41:5F:C3:39:FC:FC:8E:C1"] } }] https://developer.android.com/training/app-links/index.html Host this file at: https://domain.well- known/assetlinks.json
  20. 20. #SMX #23A2 @goutaste <?xml version="1.0" encoding="utf-8"?> <search-engine xmlns:android="http://schemas.android.com/apk/res/android"> <noindex android:value="notification"/> <noindex uri="http://recipe-app.com/profile/hidden-page"/> <noindex uriPrefix="http://recipe-app.com/users/hidden_prefix"/> </search-engine> Noindex.xml <meta-data android:name="search-engine" android:resource="@xml/noindex"/> Reference it in the Manifest: https://firebase.google.com/docs/app-indexing/android/public-content
  21. 21. #SMX #23A2 @goutaste Use Impact Visuals Above, Move Presentation Title As Needed TITLE SLIDE ALTERNATIVE LAYOUT w/ *EXAMPLE* IMAGE (SWAP IN YOUR OWN AS NEEDED) iOS Universal Links
  22. 22. #SMX #23A2 @goutaste To support universal links in your app, take the following steps:  Add an entitlement that specifies the domains your app supports.  Update your app delegate to respond appropriately when it receives the NSUserActivity object. Support Universal Links In-App https://developer.apple.com/library/content/documentation/General/Conceptual/AppSearch/UniversalLinks.html
  23. 23. #SMX #23A2 @goutaste Add Apple App Site Association File "applinks": { "apps": [], "details": [ { "appID": “SAMPLE-APP.com.host.location", "paths": [ "/news/story/", ”NOT /news/video/2010", "/news/video/201?/*"] }, { "appID": “DIFFERENT-APP.com.host.location", "paths": [ "*" ] } ] } } Host this file at: https://domain.well- known/apple-app- site-association OR https://domain/apple- app-site-association
  24. 24. #SMX #23A2 @goutaste App Indexing Process – After Fall of 2016 Support HTTP URLs (HTTP URLs + Digital Asset Links File) App Indexing API Test & Report (Many Tools + Search Console) Support Universal Links (HTTP URLs + App Site Association File) App Indexing Pod Test (New Tool! But no Search Console) Migrate To new API Version 10 or higher Add Personal/zed & private Content This still exists but is kinda irrelevant ANDROID iOS
  25. 25. #SMX #23A2 @goutaste Use Impact Visuals Above, Move Presentation Title As Needed TITLE SLIDE ALTERNATIVE LAYOUT w/ *EXAMPLE* IMAGE (SWAP IN YOUR OWN AS NEEDED) Android App Indexing API
  26. 26. #SMX #23A2 @goutaste NEW: Index Personal Content API
  27. 27. #SMX #23A2 @goutaste How to Support Personalized Content In-App public class AppIndexingService extends IntentService { public AppIndexingService() { super("AppIndexingService"); } @Override protected void onHandleIntent(Intent intent) { ArrayList<Indexable> indexableNotes = new ArrayList<>(); for (Recipe recipe : getAllRecipes()) { Note note = recipe.getNote(); if (note != null) { Indexable noteToIndex = Indexables.noteDigitalDocumentBuilder() .setName(recipe.getTitle() + " Note") .setText(note.getText()) .setUrl(recipe.getNoteUrl()) .build(); ... Identify and group indexable content (https://firebase.google.com/docs/app-indexing/android/personal-content)
  28. 28. #SMX #23A2 @goutaste How to Support Personalized Content In-App <service android:name=".client.AppIndexingService" android:exported="true" android:permission="com.google.android.gms.permission.APPINDEXI NG"> <intent-filter> <action android:name="com.google.firebase.appindexing.UPDATE_INDEX" /> </intent-filter> </service> Add the AppIndexingService and an <intent-filter> tag to the manifest https://firebase.google.com/docs/app-indexing/android/personal-content
  29. 29. #SMX #23A2 @goutaste App Indexing API for Android (Migrate to the New API) // Before import com.google.android.gms.appindexing.Action; import com.google.android.gms.appindexing.AppIndex; import com.google.android.gms.common.api.GoogleApiClient; // After import com.google.firebase.appindexing.Action; import com.google.firebase.appindexing.FirebaseUserActions; import com.google.firebase.appindexing.Indexable; import com.google.firebase.appindexing.builders.Actions; Upgrade to API version 10.0 or higher https://firebase.google.com/docs/app-indexing/android/migrate
  30. 30. #SMX #23A2 @goutaste Use API for Both Private & Public Content @Override public void onStart() { super.onStart(); FirebaseUserActions.getInstance().start(getRecipeViewAction()); } @Override public void onStop() { FirebaseUserActions.getInstance().end(getRecipeViewAction()); super.onStop(); } https://firebase.google.com/docs/app-indexing/android/log-actions This drives autocomplete App Indexing & gives Google Engagement Data (ooooh) This example is for public indexing
  31. 31. #SMX #23A2 @goutaste Use Impact Visuals Above, Move Presentation Title As Needed TITLE SLIDE ALTERNATIVE LAYOUT w/ *EXAMPLE* IMAGE (SWAP IN YOUR OWN AS NEEDED) iOS App Indexing 2015 - 2016
  32. 32. #SMX #23A2 @goutaste References to the App Indexing Cocoapod Have Been Removed from Documentation
  33. 33. #SMX #23A2 @goutaste Google Recommends Removing iOS App Indexing Pod effectively ends the “indexing” part of iOS app indexing Due to recent changes in Apple’s App Store Review Guidelines, iOS apps that use the App Indexing SDK feature might not be accepted by the App Store. Apps that implement iOS Universal Links without using App Indexing SDK features will not be affected. The details Firebase's App Indexing feature on iOS uses SafariViewController to help display and promote your app results on Google Search. Apple’s new guidelines now limit the use of SafariViewController making it challenging for us to continue offering this functionality. This change also means that we will no longer be able to provide Search Console analytics for your iOS app. What you need to do To ensure that your app will continue to be accepted by the App Store, we recommend that you remove references to Firebase App Indexing pod by removing these lines of code: In your Podfile: pod ‘Firebase/AppIndexing’ or pod 'GoogleAppIndexing‘ In your AppDelegate class: @import Firebase or @import <GoogleAppIndexing/GoogleAppIndexing.h> In your application:didFinishLaunchingWithOptions: method: [[FIRAppIndexing sharedInstance] registerApp:<yourApple ID from iTunes Connect>]; or [[GSDAppIndexing sharedInstance] registerApp:<yourApple ID from iTunes Connect>]; Make sure to maintain your iOS Universal Links implementation as this will continue to bring users directly into your app from Google Search.
  34. 34. #SMX #23A2 @goutaste JULY NOV iOS Deep Links No Longer Show App Icon in Search Results Only the web URL is indexed. Because Universal Links work of the web URL, Universal Links still work from:  Safari  Chrome (iOS)
  35. 35. #SMX #23A2 @goutaste App Indexing Process – After Fall of 2016 Support HTTP URLs (HTTP URLs + Digital Asset Links File) Test & Report (Many Tools + Search Console) Support Universal Links (HTTP URLs + App Site Association File) Test (New Tool! But no Search Console) This still exists but is kinda irrelevant ANDROID iOS App Indexing API App Indexing Pod Migrate To new API Version 10 or higher Add Personal/zed & private Content
  36. 36. #SMX #23A2 @goutaste Android App Indexing Testing
  37. 37. #SMX #23A2 @goutaste Test HTTP Deep Links on Android Device with QR Code  (you can also used this to check on your competitors) https://firebase.google.com/docs/app-indexing/android/test
  38. 38. #SMX #23A2 @goutaste See if Android Deep Links Are Indexed & Preview Search Result  (you can also use this to check out your competitors) https://firebase.google.com/docs/app-indexing/android/test
  39. 39. #SMX #23A2 @goutaste Use Impact Visuals Above, Move Presentation Title As Needed TITLE SLIDE ALTERNATIVE LAYOUT w/ *EXAMPLE* IMAGE (SWAP IN YOUR OWN AS NEEDED) iOS App Indexing Testing 2015 - 2016
  40. 40. #SMX #23A2 @goutaste The Android Tool exists for iOS as well but…
  41. 41. #SMX #23A2 @goutaste The Android Tool exists for iOS as well but… The ‘simulator’ is not very helpful.
  42. 42. #SMX #23A2 @goutaste The Android Tool exists for iOS as well but… The ‘simulator’ is not very helpful. Thanks for simulating normal web results, Googs.
  43. 43. #SMX #23A2 @goutaste For Universal Links, Try This:https://search.developer.apple.com/appsearch-validation-tool
  44. 44. #SMX #23A2 @goutaste For Universal Links, Try This:https://search.developer.apple.com/appsearch-validation-tool
  45. 45. #SMX #23A2 @goutaste Search Console: Android Crawl Status & Error Reporting Issues
  46. 46. #SMX #23A2 @goutaste
  47. 47. #SMX #23A2 @goutaste People started to notice a huge uptick in “Crawl Errors” starting around 2/3 Shameless plug for Barry’s article: https://www.seroundtable.com/google- search-console-crawl-status-errors-apps- update-23406.html
  48. 48. #SMX #23A2 @goutaste And no, it wasn’t just Barry…
  49. 49. #SMX #23A2 @goutaste App Indexing Team is Working On It…
  50. 50. #SMX #23A2 @goutaste New Toys! Search Referrals For Analytics Integration
  51. 51. #SMX #23A2 @goutaste So now you can see your Google Search referral behavior in your analytics platform of choice!
  52. 52. #SMX #23A2 @goutaste Use Impact Visuals Above, Move Presentation Title As Needed TITLE SLIDE ALTERNATIVE LAYOUT w/ *EXAMPLE* IMAGE (SWAP IN YOUR OWN AS NEEDED) App Indexing Webmaster Support Forums ? - 2017
  53. 53. #SMX #23A2 @goutaste
  54. 54. #SMX #23A2 @goutaste You Get 5 Support Questions… Use Them Wisely https://firebase.google.com/support/
  55. 55. #SMX #23A2 @goutaste I Saved You This One… You’re Welcome
  56. 56. #SMX #23A2 @goutaste Use Impact Visuals Above, Move Presentation Title As Needed TITLE SLIDE ALTERNATIVE LAYOUT w/ *EXAMPLE* IMAGE (SWAP IN YOUR OWN AS NEEDED) Android Instant Apps
  57. 57. #SMX #23A2 @goutaste Android Instant Apps Upcoming Requirements:  Reduce size of APK  Support Digital Asset Links  Modularize your app (4MB chunks)  Implement Runtime Permissions  Support SmartLock
  58. 58. #SMX #23A2 @goutaste LEARN MORE: UPCOMING @SMX EVENTS THANK YOU! SEE YOU AT THE NEXT #SMX

    Be the first to comment

    Login to see the comments

Getting app indexing right can improve mobile user experience, drive higher engagement and lead to better conversions. Google's Firebase App Indexing gets your app into Google mobile search results, whether your app is installed on a device or not. This session takes a deep dive into the technical implementation of the Firebase App Indexing and APIs. You'll hear case studies demonstrating the results you can achieve by implementing these techniques and learn about common pitfalls and errors you can expect and how to avoid them.

Views

Total views

405

On Slideshare

0

From embeds

0

Number of embeds

1

Actions

Downloads

14

Shares

0

Comments

0

Likes

0

×