缺少对 Firebase 应用程序索引(android lint)的支持

当我在 Android 工作室分析我的代码(分析 > 检查代码)时,我会收到这个林特警告。

应用程序不能被谷歌搜索索引; 考虑添加至少一个 ACTION-VIEW 意图填充活动。有关更多细节,请参见问题说明。

这个警告是什么,我如何让我的应用程序可以通过谷歌搜索索引? 这听起来对搜索引擎优化很重要,但我在谷歌上找不到任何细节。

我也想知道如何访问“问题解释”从安卓工作室。

enter image description here

编辑:

“应用程序不能被谷歌搜索索引”是旧的警告。新的警告是 “不支持 Firebase 应用程序索引”

61006 次浏览

我找到了访问“问题解释”的方法。 我需要悬停在一个检查错误显示完整的问题内联解释(并按 Ctrl-F1)

enter image description here

所以我缺少的关键词是“深度链接”!

下面是 android 开发者页面做的深度链接 “使谷歌能够抓取你的应用程序内容,并允许用户从搜索结果中输入你的应用程序”

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

下面是关于如何进行深度链接的代码片段。 我不知道谷歌怎么能抓取我的应用程序,只要添加它虽然..。

<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>

还有一张纸条上写着

Note: Intent filters may only contain a single data element for a URI pattern.
Create separate intent filters to capture additional URI patterns.

实际上有两种方法来处理“应用程序不能被谷歌索引”的问题。

  1. 如上所述,在应用程序中添加深度链接。
  2. 只需禁用线头警告。有时应用程序没有发布到谷歌播放,所以不需要深度链接,等:

    android {
    defaultConfig {
    // something
    }
    lintOptions {
    disable 'GoogleAppIndexingWarning'
    baseline file("lint-baseline.xml")
    }
    }
    

您可以通过在 <activity>中的 <intent-filter>中添加以下代码来删除警告

        <action android:name="android.intent.action.VIEW" />

如果您希望在应用程序开发完成之前禁用此警告,或者如果您没有要添加的任何 Web URL,请在 AndroidManifest.xml文件中添加此行。

<?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>