首页 > 解决方案 > 如何在华为设备上支持HMS应用链接

问题描述

现在说华为设备,我们了解 2019 年 5 月 16 日之后发布的设备,这些设备在没有 Google 移动服务的情况下发布

在华为开发支持应用链接的过程中,出现了几个问题,提出了以下问题:

  1. 为什么谷歌应用链接在华为上不起作用?
  2. 如何在华为设备上支持它们?
  3. 如何通过应用链接获取数据共享

标签: androidhuawei-mobile-servicesapplinkshuawei-developersandroid-app-links

解决方案


问:为什么谷歌应用链接在华为上不起作用?

A:应用链接被认为是深度链接,需要额外检查。GMS 完成的额外检查,要求assetlinks.json 文件位于您的域下,以便您的域被授权直接打开应用程序,更多信息在这里

问:如何在华为设备上支持它们?

A:您需要在AG Connect上拥有账户,然后申请您喜欢的任何前缀。然后 AG Connect 将为您生成一个 URL,类似于https://YOUR_PREFIX_HERE.dra.agconnect.link。完成此操作后,您应该向您的 URL 添加deeplink参数,该参数应该与您用于具有 GMS 的设备的应用链接 URL 完全相同。重要的是它应该是 URL 编码的,例如 https://YOUR_PREFIX_HERE.dra.agconnect.link?deeplink=urlencoded(https.my-host-here.my_prefix-if-I-have&some-data-toshare= SOME-DATA- IN-BASE-64)。

将相同的 url 用于 GMS 应用程序链接,作为 HMS 的深层链接,使您可以使用单个意图过滤器来处理两个应用程序链接。

简而言之:HMS.applink = https://YOUR_PREFIX_HERE.dra.agconnect.link?deeplink=urlencoded(GMS.applink).

问:如何通过应用链接获取数据共享

答:HMS 文档中,它建议将 AG Connect 应用链接库广告到项目并使用适当的类。但幸运的是,我们可以像处理 GMS 应用程序链接一样做到这一点:我们可以从 Intents 获取数据。


推荐阅读