作者:路人甲 | 2023-09-09 17:47
如何解决《Android-在更新SDK版本23后,使用ACTION-VIEWintent-filter添加至少一个Activity》经验,为你挑选了4个好方法。
我在AndroidManifest.xml中获得以下工具提示:
Google搜索无法将应用程序编入索引; 考虑使用ACTION-VIEW意图填充添加至少一个活动.有关详细信息,请参阅问题说明
添加深层链接以将您的应用添加到Google索引中,从Google搜索中获取应用的安装和流量.
任何人都可以解释为什么会这样吗?
1> 小智..:
从官方文件:
要使Google能够抓取您的应用内容并允许用户从搜索结果中输入您的应用,您必须为应用清单中的相关活动添加意图过滤器.这些意图过滤器允许深入链接到您的任何活动中的内容.例如,用户可以点击深层链接以查看购物应用中的页面,该页面描述用户正在搜索的产品.
使用此链接启用应用程序内容的深层链接,您将看到如何使用它.
并使用此测试您的应用程序索引实现如何测试它.
以下XML代码段显示了如何在清单中为深度链接指定intent过滤器.
通过Android Debug Bridge进行测试
$ adb shell am start
-W -a android.intent.action.VIEW
-d
$ adb shell am start
-W -a android.intent.action.VIEW
-d "example://gizmos" com.example.android
以及特定应用程序的所有这些,那么为什么要显示警告?并非所有应用都需要此功能,并非所有应用都是某些网站的webview.谷歌太烦人了..
无论如何都可以使用工具来抑制它:ignore ="GoogleAppIndexingWarning"
好奇警告说你需要一个`ACTION-VIEW`意图过滤器,但解决方案涉及`action.VIEW`.同样,按照Android Studio中的链接,您将进入一个不显示"ACTION-VIEW"的网页.他们用突兀警告做的最少的事情就是给你准确的信息和帮助页面.
@ecle哪个人放这个选项?/ 没关系; 我找到了:必须在`manifest`标签中添加`xmlns:tools ="http://schemas.android.com/tools"`,然后在`application`标签中添加`tools:ignore ...` .
@ user25 scheme是uri方案,方案可以是http,https,ftp等
2> Bibin Johny..:
您可以通过在
里面添加以下代码来删除警告
如果您不想启用应用程序索引,这似乎是正确的解决方案.而不是仅通过`tools:ignore ="GoogleAppIndexingWarning"`删除警告.我在主活动中将它添加为`
`的兄弟姐妹.
@GhanshyamNayma添加此行只会删除警告.没有添加实际应用程序索引所需的额外代码.不完全是最好的练习,但我知道警告很烦人.我会选择`tools:ignore ="GoogleAppIndexingWarning"`而不是因为那时你不会添加一个空的ACTION_VIEW.它可能不会导致任何问题,但您总是希望安全.
这项工作是给我的。我认为这是我正在寻找的答案。
啊,这就是为什么现在有如此多的随机应用出现在ACTION_VIEW中的原因... eesh
但是为什么我们盲目的在代码中需要这一行呢?有什么具体原因吗?
@Ghanshyam,这是谷歌搜索的应用程序索引.即,这使您的应用程序可以显示在谷歌搜索结果上.
3> 小智..:
您可以通过添加删除警告xmlns:tools="http://schemas.android.com/tools"
的
标签,并tools:ignore="GoogleAppIndexingWarning"
在
标签.
这对我有用,而且正是我正在寻找的解决方案.
它不是完美的解决方案,因为它不允许Google将应用编入索引。通过忽略某些内容,您应该尝试解决该问题。
4> Oladipo Olas..:
将这个意图过滤器添加到应用清单中声明的活动之一后,为我解决了这个问题。