I am getting the following tool tip in AndroidManifest.xml:
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. Adds deep links to get your app into the Google index, to get installs and traffic to your app from Google Search.
https://i.stack.imgur.com/ghLjy.png
Can anyone explain why it is so?
From official documentation :
To enable Google to crawl your app content and allow users to enter your app from search results, you must add intent filters for the relevant activities in your app manifest. These intent filters allow deep linking to the content in any of your activities. For example, the user might click on a deep link to view a page within a shopping app that describes a product offering that the user is searching for.
Using this link Enabling Deep Links for App Content you'll see how to use it.
And using this Test Your App Indexing Implementation how to test it.
The following XML snippet shows how you might specify an intent filter in your manifest for deep linking.
<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>
To test via Android Debug Bridge
$ adb shell am start
-W -a android.intent.action.VIEW
-d <URI> <PACKAGE>
$ adb shell am start
-W -a android.intent.action.VIEW
-d "example://gizmos" com.example.android
You can remove the warning by adding the below code in <intent-filter>
inside <activity>
<action android:name="android.intent.action.VIEW" />
tools:ignore="GoogleAppIndexingWarning"
. I added it as a sibling to <action android:name="android.intent.action.MAIN" />
in the main activity.
tools:ignore="GoogleAppIndexingWarning"
instead because then you won't be adding an empty ACTION_VIEW. It might not cause any issues, but you always want to be safe.
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.example.app"
tools:ignore="GoogleAppIndexingWarning">
You can remove the warning by adding xmlns:tools="http://schemas.android.com/tools"
and tools:ignore="GoogleAppIndexingWarning"
to the <manifest>
tag.
Adding this intent filter to one of the activities declared in app manifest fixed this for me.
<activity
android:name=".MyActivity"
android:screenOrientation="portrait"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
</intent-filter>
</activity>
this solution work only .if your want to ignore this Warning
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
tools:ignore="GoogleAppIndexingWarning"
package="com.example.saloononlinesolution">
Success story sharing
ACTION-VIEW
intent-filter, yet the solution involvesaction.VIEW
. Likewise, following the link in Android Studio takes you to a webpage whereACTION-VIEW
does not appear. The least they could do with obtrusive warnings is give you accurate messages and help pages.xmlns:tools="http://schemas.android.com/tools"
to themanifest
tag, then addtools:ignore...
to theapplication
tag.