现在说华为设备,我们了解 2019 年 5 月 16 日之后发布的设备,这些设备在没有 Google 移动服务的情况下发布
在华为开发支持应用链接的过程中,出现了几个问题,提出了以下问题:
- 为什么谷歌应用链接在华为上不起作用?
- 如何在华为设备上支持它们?
- 如何通过应用链接获取数据共享
现在说华为设备,我们了解 2019 年 5 月 16 日之后发布的设备,这些设备在没有 Google 移动服务的情况下发布
在华为开发支持应用链接的过程中,出现了几个问题,提出了以下问题:
问:为什么谷歌应用链接在华为上不起作用?
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 获取数据。
对于基于GMS的手机,在安装应用时需要调用GMS API来绑定域名和应用。但是,从中国大陆无法正常访问该API。对于基于HMS的手机,安装应用时不调用GMS API绑定域名和应用。
对于基于GMS的手机,在安装应用时需要调用GMS API来绑定域名和应用。但是,从中国大陆无法正常访问该API。对于基于HMS的手机,安装应用时不调用GMS API绑定域名和应用。而是验证应用程序网站上的assetlinks.json 文件。因此,基于 HMS 的手机支持应用链接服务。注意,华为应用链接的底层技术是基于安卓应用链接和iOS通用链接。但是,华为应用链接提供了以下附加功能:
• Support all platforms
• Support short links
• Support deferred deep links