149

I receive this lint warning when analysing my code (Analyse > Inspect Codes) on Android studios.

App is not indexable by Google Search; consider adding at least one Activity with an ACTION-VIEW intent-filler. See issue explanation for more details.

What is this warning, and how do I make my app indexable by Google Search? it sounds important for SEO, but I can't find any details on Google.

I also like to know how to access the "Issue Explanation" from android studio.

enter image description here

Edit:

"App is not indexable by Google Search" was the old warning. The new warning is "Missing support for Firebase App Indexing"

Angel Koh
  • 10,460
  • 5
  • 53
  • 75

4 Answers4

106

I found out how to access the "Issue Explanation". I need to hover over an inspection error to display the full issue explanation inline (and pressing Ctrl-F1)

enter image description here

so the keyword I am missing is "deep links"!

The following is the android developer page to do deep links "To enable Google to crawl your app content and allow users to enter your app from search results"

http://developer.android.com/training/app-indexing/deep-linking.html

the following is the code snippet on how to do a deep link. I got no idea how Google can crawl my app just by adding it though...

<activity
    android:name="com.example.android.GizmosActivity"
    android:label="@string/title_gizmos" >
    <intent-filter android:label="@string/filter_title_viewgizmos">
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />
        <!-- Accepts URIs that begin with "http://www.example.com/gizmos” -->
        <data android:scheme="http"
              android:host="www.example.com"
              android:pathPrefix="/gizmos" />
        <!-- note that the leading "/" is required for pathPrefix-->
        <!-- Accepts URIs that begin with "example://gizmos”
        <data android:scheme="example"
              android:host="gizmos" />
        -->
    </intent-filter>
</activity>

there is also a note which says

Note: Intent filters may only contain a single data element for a URI pattern. 
Create separate intent filters to capture additional URI patterns.
Willi Mentzel
  • 21,499
  • 16
  • 88
  • 101
Angel Koh
  • 10,460
  • 5
  • 53
  • 75
  • 2
    This is for configuring deep-links into your app. Example: If a user searches on mobile search for a specfic keyword that matches your web/app, it can directly link to your intent which can open the specific activity/view inside your app. In short, search will directly let users open inside apps. – Nagesh Susarla Dec 09 '15 at 20:35
  • @NageshSusarla, so in the example above, is the keyword is "gizmos"? – Angel Koh Dec 10 '15 at 02:24
  • 6
    https://developers.google.com/app-indexing/android/app has detailed information about it. In this case any keyword that results in your page say http://www.example.com/gizmos in the search results will point to this intent. – Nagesh Susarla Dec 10 '15 at 22:01
  • Is this step necessary for google to display my app in google play? I can search my app in google play, but can't find it in the page of it's category. – Jeffrey Chen Dec 26 '15 at 18:17
  • No this is not for displaying your app on google play. It's for opening your app when a user clicks on a search link to your website (in the search results) – Nagesh Susarla Jan 05 '16 at 18:29
  • 3
    I don't get it, what am i supposed to put?? – busuu Sep 18 '17 at 17:51
  • 6
    Do you have to have your own website to add? – Azurespot Nov 12 '17 at 02:45
28

Actually there are 2 ways to deal with 'app is not indexable by google' problem.

  1. Add deep link into the app as described above.
  2. Simply disable lint warning. Sometimes app is not published to Google Play so deep links will not be needed, etc:

    android {
    defaultConfig {
    // something
    }
    lintOptions {
    disable 'GoogleAppIndexingWarning'
    baseline file("lint-baseline.xml")
    }
    }
    
zkvarz
  • 581
  • 1
  • 6
  • 17
19

You can remove the warning by adding the below code in <intent-filter> inside <activity>

        <action android:name="android.intent.action.VIEW" />
Bibin Johny
  • 3,017
  • 1
  • 9
  • 16
7

If you want disable this warning until your application development completes or if you don't have any web URL to add, add this line in your AndroidManifest.xml file.

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          xmlns:tools="http://schemas.android.com/tools"
          package="com.example.yourappname">

   <application
       ...
       ...
       tools:ignore="GoogleAppIndexingWarning">

          ....

   </application>

</manifest>
Shashanth
  • 4,151
  • 7
  • 32
  • 46