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


149

在Android Studio上分析我的代码(“分析”>“检查代码”)时,我收到此棉绒警告。

该应用无法通过Google搜索建立索引;考虑添加至少一个带有ACTION-VIEW意向填充器的Activity。有关更多详细信息,请参见问题说明。

这是什么警告,如何使我的应用可被Google搜索编入索引?对于SEO来说这听起来很重要,但我在Google上找不到任何详细信息。

我也想知道如何从android studio访问“问题说明”。

在此处输入图片说明

编辑:

旧的警告是“应用程序无法通过Google搜索建立索引”。新的警告是“缺少对Firebase App Indexing的支持”

Answers:


106

我发现了如何访问“问题说明”。我需要将鼠标悬停在检查错误上才能在线显示完整的问题说明(并按Ctrl-F1)

在此处输入图片说明

因此我缺少的关键字是“深层链接”!

以下是进行深层链接的android开发人员页面“使Google能够抓取您的应用内容,并允许用户从搜索结果中输入您的应用”

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

以下是有关如何进行深层链接的代码片段。我不知道Google如何通过添加就可以抓取我的应用...

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

2
这是用于配置到您的应用的深层链接。示例:如果用户在移动搜索中搜索与您的网络/应用匹配的特定关键字,则它可以直接链接到您的意图,从而可以在您的应用中打开特定的活动/视图。简而言之,搜索将直接让用户在应用程序内部打开。
Nagesh Susarla 2015年

@NageshSusarla,因此在上面的示例中,关键字是“ gizmos”吗?
天使Koh

6
developers.google.com/app-indexing/android/app包含有关它的详细信息。在这种情况下,在您的网页中显示任何关键字,例如在搜索结果中显示example.com/gizmos都将指向此意图。
Nagesh Susarla 2015年

3
我不明白,我应该放什么?
busuu

6
您是否需要添加自己的网站?
Azurespot

28

实际上,有两种方法可以处理“应用无法通过Google索引”的问题。

  1. 如上所述,将深层链接添加到应用中。
  2. 只需禁用棉绒警告。有时应用未发布到Google Play,因此不需要深层链接,等等:

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

19

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

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

7

如果要禁用此警告,直到应用程序开发完成或没有要添加的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>
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.