在 Android 工作室分析我的代码(分析 > 检查代码)时,我收到此 lint 警告。
应用无法被 Google 搜索索引;考虑添加至少一个带有 ACTION-VIEW 意图填充的 Activity。有关更多详细信息,请参阅问题说明。
这个警告是什么?如何让我的应用可以被 Google 搜索索引?这听起来对 SEO 很重要,但我在 Google 上找不到任何详细信息。
我也想知道如何从 android studio 访问“问题说明”。
https://i.stack.imgur.com/aZ48Q.png
编辑:
“应用程序无法被 Google 搜索索引”是旧警告。新警告是“缺少对 Firebase App Indexing 的支持”
我发现了如何访问“问题说明”。我需要将鼠标悬停在检查错误上以显示完整的问题解释内联(并按 Ctrl-F1)
https://i.stack.imgur.com/hUll0.png
所以我缺少的关键字是“深层链接”!
以下是android开发者页面做深度链接“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
以下是有关如何进行深层链接的代码片段。我不知道谷歌如何通过添加它来抓取我的应用程序......
<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.
实际上有两种方法可以处理“应用程序无法被谷歌索引”问题。
如上所述将深层链接添加到应用程序中。只需禁用 lint 警告。有时应用未发布到 Google Play,因此不需要深层链接等:android { defaultConfig { // something } lintOptions { disable 'GoogleAppIndexingWarning' 基线文件(“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>