ChatGPT解决这个技术问题 Extra ChatGPT

缺少对 Firebase App Indexing 的支持(android lint)

在 Android 工作室分析我的代码(分析 > 检查代码)时,我收到此 lint 警告。

应用无法被 Google 搜索索引;考虑添加至少一个带有 ACTION-VIEW 意图填充的 Activity。有关更多详细信息,请参阅问题说明。

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

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

https://i.stack.imgur.com/aZ48Q.png

编辑:

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


W
Willi Mentzel

我发现了如何访问“问题说明”。我需要将鼠标悬停在检查错误上以显示完整的问题解释内联(并按 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.

这是用于将深层链接配置到您的应用程序中。示例:如果用户在移动搜索上搜索与您的网络/应用程序匹配的特定关键字,它可以直接链接到您的意图,从而可以在您的应用程序中打开特定的活动/视图。简而言之,搜索将直接让用户在应用程序内部打开。
@NageshSusarla,所以在上面的例子中,关键字是“gizmos”吗?
developers.google.com/app-indexing/android/app 有关于它的详细信息。在这种情况下,任何在您的网页中搜索结果显示为 example.com/gizmos 的关键字都将指向此意图。
没看懂,应该放什么??
您是否必须拥有自己的网站才能添加?
z
zkvarz

实际上有两种方法可以处理“应用程序无法被谷歌索引”问题。

如上所述将深层链接添加到应用程序中。只需禁用 lint 警告。有时应用未发布到 Google Play,因此不需要深层链接等:android { defaultConfig { // something } lintOptions { disable 'GoogleAppIndexingWarning' 基线文件(“lint-baseline.xml”) } }


B
Bibin Johny

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

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

S
Shashanth

如果您希望在应用程序开发完成之前禁用此警告,或者如果您没有任何要添加的 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>