5

文档声明我的即时应用和已安装的应用都应该实现应用链接。为什么安装的应用程序也应该实现应用程序链接,因为我只希望我的免安装应用程序 URL 在 Google 搜索中正确显​​示并带有免安装徽章?另外,最佳实践是什么?

4

2 回答 2

8

是的 - 应用链接可以为您的应用提供无缝链接解析,无论是安装的还是即时的。为了让 Google 搜索显示已安装应用或免安装应用的结果,您必须为两者正确设置应用链接。此外,为避免从免安装到安装降低用户体验,安装应用也应支持免安装应用支持的所有 URL。因此,正如文档所述,即时应用程序和已安装应用程序都应该实现应用程序链接。”

以下是最佳实践:

  • 在即时应用清单和已安装应用清单中的至少一个意图过滤器中设置 autoVerify=true。
  • 每个子域托管一个assetlinks.json。该文件必须从每个 https 子域上的 /.well-known/assetlinks.json 提供。
  • assetlinks.json 文件必须是有效的 json(正确的语法,例如没有 BOM),带有标头“Content-Type:application/json”,并且在每个域上都以 HTTP 200 状态提供(无重定向)
  • 机器人必须可以访问assetlinks.json 文件位置,例如robots.txt 需要。这意味着如果您在清单中包含只能在内部访问的内部 url,验证将失败。
  • 确保您的免安装应用中的所有路径声明也在您发布的常规应用中。
  • 所有声明的意图过滤器必须同时支持方案中的 http 和 https。
  • 不要在您的意图过滤器中使用通配符主机(例如)在 *.example.local 中,* 将被删除并且 example.local 将被索引。
  • 每个域只能支持一个免安装应用。多个即时应用程序不能与同一个域关联。
  • 使用App Link 支持页面上的“确认数字资产链接文件”中描述的工具,确保您的assetlinks.json 对您最受欢迎的搜索结果有效。
  • 在此处测试您的应用链接。
于 2017-05-18T17:34:25.327 回答
2

即时应用和应用链接

正如您所指出的,即时应用程序依赖于应用程序链接来工作。但是,并非所有设备都支持即时应用程序,如果您安装了完整的应用程序,您将希望将您的用户发送到那里,而不是即时应用程序版本。所以你的完整应用仍然需要支持应用链接。

普通应用和 Instant App 的区别在于,设备只会加载单个 Activity 以响应用户点击的 App Link,而不需要通过 Play 商店下载完整的包。这对用户来说是一种更无缝的体验,但底层技术的工作方式相同。

在即时应用程序和完整应用程序之间传递上下文

如果用户选择下载完整版,您可能还需要一些方法来确保用户在应用程序版本之间无缝切换。Android 默认不提供此功能(令人惊讶),因此您要么需要自己构建它,要么使用Branch.io 之类的服务(完全披露:我在 Branch 团队)。

于 2017-05-22T21:37:15.153 回答