what's new with google firebase app indexing by emily grossman

58
#SMX #22A2 @goutaste Emily Grossman, Director of App Strategy at MobileMoxie What's New With Google Firebase App Indexing

Upload: search-marketing-expo-smx

Post on 05-Apr-2017

71 views

Category:

Marketing


0 download

TRANSCRIPT

Presentation Title

Emily Grossman, Director of App Strategy at MobileMoxieWhat's New With Google Firebase App Indexing

#SMX #22A2@goutasteUse Impact Visuals Above, Move Presentation Title As NeededTITLE SLIDE ALTERNATIVE LAYOUT w/ *EXAMPLE* IMAGE (SWAP IN YOUR OWN AS NEEDED)

App Indexing Promised Benefits

#SMX #22A2@goutastePersonal ContentAutocompleteInstall ButtonsRankings BoostDeep Links to App ContentRich SearchResults (icons+)Personal & private content can be indexed in Android On-Device SearchAndroid deep links appear in Autocomplete In Google app based on engagement signalsInstall buttons can appear on web results when app is not installed; improve acquisitionApp & Webpage rank as a pair; Pair gets rankings boost for implementing & for APISearch Results link to app instead of website (when installed)Search Results get app icon; increase CTRHow App Indexing Is Supposed to Benefit Publishers

#SMX #22A2@goutastePersonal ContentAutocompleteInstall ButtonsRankings BoostDeep Links to App ContentRich SearchResults (icons+)Personal & private content can be indexed in Android On-Device SearchAndroid deep links appear in Autocomplete In Google app based on engagement signalsInstall buttons can appear on web results when app is not installed; improve acquisitionApp & Webpage rank as a pair; Pair gets rankings boost for implementing & for APISearch Results link to app instead of website (when installed)Search Results get app icon; increase CTRWhich Benefits Have Changed

ANDROID ONLY

#SMX #22A2@goutastePersonal ContentAutocompleteInstall ButtonsRankings BoostDeep Links to App ContentRich SearchResults (icons+)Personal & private content can be indexed in Android On-Device SearchAndroid deep links appear in Autocomplete In Google app based on engagement signalsInstall buttons can appear on web results when app is not installed; improve acquisitionApp & Webpage rank as a pair; Pair gets rankings boost for implementing & for APISearch Results link to app instead of website (when installed)Search Results get app icon; increase CTRWhich Benefits Have Changed

VOID IF AMP ON SAME URLANDROID ONLY

#SMX #22A2@goutastePersonal ContentAutocompleteInstall ButtonsRankings BoostDeep Links to App ContentRich SearchResults (icons+)Personal & private content can be indexed in Android On-Device SearchAndroid deep links appear in Autocomplete In Google app based on engagement signalsInstall buttons can appear on web results when app is not installed; improve acquisitionApp & Webpage rank as a pair; Pair gets rankings boost for implementing & for APISearch Results link to app instead of website (when installed)Search Results get app icon; increase CTRWhich Benefits Have Changed

ANDROID ONLY (?)VOID IF AMP ON SAME URLANDROID ONLY

#SMX #22A2@goutastePersonal ContentAutocompleteInstall ButtonsRankings BoostDeep Links to App ContentRich SearchResults (icons+)Personal & private content can be indexed in Android On-Device SearchAndroid deep links appear in Autocomplete In Google app based on engagement signalsInstall buttons can appear on web results when app is not installed; improve acquisitionApp & Webpage rank as a pair; Pair gets rankings boost for implementing & for APISearch Results link to app instead of website (when installed)Search Results get app icon; increase CTRWhich Benefits Have Changed

ONLY ON HOME SCREEN/ PAGEANDROID ONLY (?)VOID IF AMP ON SAME URLANDROID ONLY

#SMX #22A2@goutastePersonal ContentAutocompleteInstall ButtonsRankings BoostDeep Links to App ContentRich SearchResults (icons+)Personal & private content can be indexed in Android On-Device SearchAndroid deep links appear in Autocomplete In Google app based on engagement signalsInstall buttons can appear on web results when app is not installed; improve acquisitionApp & Webpage rank as a pair; Pair gets rankings boost for implementing & for APISearch Results link to app instead of website (when installed)Search Results get app icon; increase CTRWhich Benefits Have Changed

NO CHANGEONLY ON HOME SCREEN/ PAGEANDROID ONLY (?)VOID IF AMP ON SAME URLANDROID ONLY

#SMX #22A2@goutastePersonal ContentAutocompleteInstall ButtonsRankings BoostDeep Links to App ContentRich SearchResults (icons+)Personal & private content can be indexed in Android On-Device SearchAndroid deep links appear in Autocomplete In Google app based on engagement signalsInstall buttons can appear on web results when app is not installed; improve acquisitionApp & Webpage rank as a pair; Pair gets rankings boost for implementing & for APISearch Results link to app instead of website (when installed)Search Results get app icon; increase CTRWhich Benefits Have Changed

OUT OF BETA (YAY!)NO CHANGEONLY ON HOME SCREEN/ PAGEANDROID ONLY (?)VOID IF AMP ON SAME URLANDROID ONLY

#SMX #22A2@goutasteOn the Horizon: Android Instant Apps

Run Android Apps without installation

Currently in limited release

Built off the same deep linking framework as App Indexing

#SMX #22A2@goutastehttp://www.pagelizard.com/android-instant-apps-publishers/9

Use Impact Visuals Above, Move Presentation Title As NeededTITLE SLIDE ALTERNATIVE LAYOUT w/ *EXAMPLE* IMAGE (SWAP IN YOUR OWN AS NEEDED)

App Indexing ImplementationChanges

#SMX #22A2@goutasteApp Indexing Process Until Fall of 2016Support HTTP URLs(HTTP URLs + Digital Asset Links File)App Indexing APITest & Report(Many Tools + Search Console)Support Universal Links(HTTP URLs + App Site Association File)App Indexing PodTest (New Tool! But no Search Console)ANDROIDiOS

#SMX #22A2@goutasteApp Indexing Process After Fall of 2016Support HTTP URLs(HTTP URLs + Digital Asset Links File)App Indexing APITest & Report(Many Tools + Search Console)Support Universal Links(HTTP URLs + App Site Association File)App Indexing PodTest (New Tool! But no Search Console)

Migrate To new API Version 10 or higherAdd Personal/zed & private ContentISSUES!!!Not supported = no icons

This still exists but is kinda irrelevantANDROIDiOS

#SMX #22A2@goutasteUse Impact Visuals Above, Move Presentation Title As NeededTITLE SLIDE ALTERNATIVE LAYOUT w/ *EXAMPLE* IMAGE (SWAP IN YOUR OWN AS NEEDED)

Step-By-Step

#SMX #22A2@goutasteApp Indexing Process After Fall of 2016Support HTTP URLs(HTTP URLs + Digital Asset Links File)App Indexing APITest & Report(Many Tools + Search Console)Support Universal Links(HTTP URLs + App Site Association File)App Indexing PodTest (New Tool! But no Search Console)

Migrate To new API Version 10 or higherAdd Personal/zed & private ContentISSUES!!!Not supported = no icons

This still exists but is kinda irrelevantANDROIDiOS

#SMX #22A2@goutasteUse Impact Visuals Above, Move Presentation Title As NeededTITLE SLIDE ALTERNATIVE LAYOUT w/ *EXAMPLE* IMAGE (SWAP IN YOUR OWN AS NEEDED)

Android HTTP URLs

#SMX #22A2@goutasteSupport 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

#SMX #22A2@goutasteAndroid Manifest Horror Stories

Your developer might also just duck up the implementation

#SMX #22A2@goutasteAdd 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.htmlHost this file at: https://domain.well-known/assetlinks.json

#SMX #22A2@goutaste

Noindex.xml

Reference it in the Manifest:https://firebase.google.com/docs/app-indexing/android/public-content

#SMX #22A2@goutasteUse Impact Visuals Above, Move Presentation Title As NeededTITLE SLIDE ALTERNATIVE LAYOUT w/ *EXAMPLE* IMAGE (SWAP IN YOUR OWN AS NEEDED)

iOS Universal Links

#SMX #22A2@goutasteTo 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-Apphttps://developer.apple.com/library/content/documentation/General/Conceptual/AppSearch/UniversalLinks.html

#SMX #22A2@goutasteAdd 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

#SMX #22A2@goutasteApp Indexing Process After Fall of 2016Support HTTP URLs(HTTP URLs + Digital Asset Links File)App Indexing APITest & Report(Many Tools + Search Console)Support Universal Links(HTTP URLs + App Site Association File)App Indexing PodTest (New Tool! But no Search Console)

Migrate To new API Version 10 or higherAdd Personal/zed & private ContentISSUES!!!Not supported = no icons

This still exists but is kinda irrelevantANDROIDiOS

#SMX #22A2@goutasteUse Impact Visuals Above, Move Presentation Title As NeededTITLE SLIDE ALTERNATIVE LAYOUT w/ *EXAMPLE* IMAGE (SWAP IN YOUR OWN AS NEEDED)

Android App Indexing API

#SMX #22A2@goutasteNEW: Index Personal Content

API

#SMX #22A2@goutasteHow to Support Personalized Content In-Apppublic class AppIndexingService extends IntentService {

public AppIndexingService() { super("AppIndexingService"); }

@Override protected void onHandleIntent(Intent intent) { ArrayList 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)

#SMX #22A2@goutasteHow to Support Personalized Content In-App Add the AppIndexingService and an tag to the manifesthttps://firebase.google.com/docs/app-indexing/android/personal-content

#SMX #22A2@goutaste

27

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 higherhttps://firebase.google.com/docs/app-indexing/android/migrate

#SMX #22A2@goutastehttps://firebase.google.com/docs/app-indexing/android/migrate28

Use API for Both Private & Public Content

@Overridepublic void onStart() { super.onStart();

FirebaseUserActions.getInstance().start(getRecipeViewAction()); }

@Overridepublic void onStop() { FirebaseUserActions.getInstance().end(getRecipeViewAction()); super.onStop(); }https://firebase.google.com/docs/app-indexing/android/log-actionsThis drives autocomplete App Indexing & gives Google Engagement Data (ooooh)

This example is for public indexing

#SMX #22A2@goutastehttps://firebase.google.com/docs/app-indexing/android/migrate29

Use Impact Visuals Above, Move Presentation Title As NeededTITLE SLIDE ALTERNATIVE LAYOUT w/ *EXAMPLE* IMAGE (SWAP IN YOUR OWN AS NEEDED)

iOS App Indexing2015 - 2016

#SMX #22A2@goutaste

References to the App Indexing Cocoapod Have Been Removed from Documentation

#SMX #22A2@goutasteGoogle Recommends Removing iOS App Indexing Podeffectively ends the indexing part of iOS app indexingDue to recent changes in Apples 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 detailsFirebase's App Indexing feature on iOS uses SafariViewController to help display and promote your app results on Google Search.Apples 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 doTo 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/AppIndexingorpod 'GoogleAppIndexingIn your AppDelegate class:@import Firebaseor@import In your application:didFinishLaunchingWithOptions: method:[[FIRAppIndexing sharedInstance] registerApp:];or[[GSDAppIndexing sharedInstance] registerApp:];

Make sure to maintain your iOS Universal Links implementation as this will continue to bring users directly into your app from Google Search.

#SMX #22A2@goutaste

JULYNOViOS 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:SafariChrome (iOS)

#SMX #22A2@goutasteApp Indexing Process After Fall of 2016Support 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)

ISSUES!!!

This still exists but is kinda irrelevantANDROIDiOS

App Indexing APIApp Indexing Pod

Migrate To new API Version 10 or higherAdd Personal/zed & private ContentNot supported = no icons

#SMX #22A2@goutaste

Android App Indexing Testing

#SMX #22A2@goutasteTest 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

#SMX #22A2@goutasteSee 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

#SMX #22A2@goutasteUse Impact Visuals Above, Move Presentation Title As NeededTITLE SLIDE ALTERNATIVE LAYOUT w/ *EXAMPLE* IMAGE (SWAP IN YOUR OWN AS NEEDED)

iOS App IndexingTesting2015 - 2016

#SMX #22A2@goutaste

The Android Tool exists for iOS as well but

#SMX #22A2@goutastehttps://firebase.google.com/docs/app-indexing/ios/test39

The Android Tool exists for iOS as well but

The simulator is not very helpful.

#SMX #22A2@goutaste

The Android Tool exists for iOS as well but

The simulator is not very helpful.

Thanks for simulating normal web results, Googs.

#SMX #22A2@goutaste

For Universal Links, Try This:https://search.developer.apple.com/appsearch-validation-tool

#SMX #22A2@goutaste

For Universal Links, Try This:

https://search.developer.apple.com/appsearch-validation-tool

#SMX #22A2@goutaste

Search Console: Android Crawl Status & Error Reporting Issues

#SMX #22A2@goutaste

#SMX #22A2@goutaste

People started to notice a huge uptick in Crawl Errors starting around 2/3 Shameless plug for Barrys article:https://www.seroundtable.com/google-search-console-crawl-status-errors-apps-update-23406.html

#SMX #22A2@goutaste

And no, it wasnt just Barry

#SMX #22A2@goutaste

App Indexing Team is Working On It

#SMX #22A2@goutaste

New Toys!Search Referrals For Analytics Integration

#SMX #22A2@goutaste

So now you can see your Google Search referral behavior in your analytics platform of choice!

#SMX #22A2@goutasteUse Impact Visuals Above, Move Presentation Title As NeededTITLE SLIDE ALTERNATIVE LAYOUT w/ *EXAMPLE* IMAGE (SWAP IN YOUR OWN AS NEEDED)

App Indexing Webmaster Support Forums? - 2017

#SMX #22A2@goutaste

#SMX #22A2@goutaste

You Get 5 Support Questions Use Them Wisely

https://firebase.google.com/support/

#SMX #22A2@goutaste

I Saved You This One Youre Welcome

#SMX #22A2@goutasteUse Impact Visuals Above, Move Presentation Title As NeededTITLE SLIDE ALTERNATIVE LAYOUT w/ *EXAMPLE* IMAGE (SWAP IN YOUR OWN AS NEEDED)

Android Instant Apps

#SMX #22A2@goutaste

Android Instant Apps

Upcoming Requirements:

Reduce size of APKSupport Digital Asset LinksModularize your app (4MB chunks)Implement Runtime PermissionsSupport SmartLock

#SMX #22A2@goutastehttp://www.pagelizard.com/android-instant-apps-publishers/56

LEARN MORE: UPCOMING @SMX EVENTSTHANK YOU! SEE YOU AT THE NEXT #SMX

#SMX #22A2@goutaste