深度链接在 Andriod 和 iOS 移动应用程序中的电容器中不起作用

问题描述 投票:0回答:2

我们按照下面的电容器深度链接文档进行了深度链接,然后我们检查单击深度链接,它不会将我们带到移动应用程序,并且 URL 将在浏览器中打开。

https://capacitorjs.com/docs/guides/deep-links

  1. 创建站点关联文件并使用资产链接工具进行验证,并且应用程序已成功链接到域。
  2. 还在清单文件中添加了意图过滤器,并将主机作为网站域
  3. 遵循文档中的所有内容,并在签名的apk中尝试这些

如果有任何其他解决方案,请帮助我们 - 使用电容器进行深度链接

cordova deep-linking hybrid-mobile-app capacitor android-deep-link
2个回答
1
投票

确保您的 assetlinks SHA256 与用于每个构建变体(调试构建/firebase 分发/playstore)的签名密钥完全匹配,具有不同的 SHA256。

您可以编写一个数组并添加 一些 asstelinks,以便每个构建都像提到的那样

如果您在 Playstore 上创建生产版本,请检查您的 Play 控制台深层链接是否有错误。我在 Android 12 和 13 上的应用程序仅在浏览器中打开深度链接,它只需要验证网站所有权


0
投票

这是 Google 中出现的关于 Android 和 iOS 上的电容器深度链接问题的首要问题,因此我想分享一些可能有助于解决此问题的技巧。

安卓

.well-known/assetlinks.json
文件部署到网络主机后,请确保使用 Google 的 Asset Links 工具来测试该文件是否可以正确访问,方法是在输入信息后单击
Test statement
。如果失败,您就知道该文件有问题。另外,我遇到的一个问题很难解决,请确保您的 SHA-256 字符串全部大写,否则它将无法工作。

苹果

.well-known/apple-app-site-association
文件部署到 Web 主机后,请使用 Branch.io 的 AASA 验证器工具yURL AASA 验证器 确保您的文件正确且可由 Apple 的 CDN 访问。我发现 Branch.io 的工具更准确,但提供的有用信息不如 yURL。

您还可以使用以下网址在 Apple CDN 中查询您的域,以了解其是否正常工作:https://app-site-association.cdn-apple.com/a/v1/www.example.com。将

www.example.com
替换为您的域名。在开发工具中,您可以打开网络请求并找到一些响应标头以获取更多信息,包括
Apple-Failure-Details
Apple-Failure-Reason
Apple-From
Apple-Try-Direct
。如果
Cache-Control
标头显示
max-age=3600,public
,则意味着您必须等待一个小时,Apple 才会重新尝试获取您的
apple-app-site-association
文件。您可以检查
Age
标头以查看自上次获取以来已经过去了多长时间。

确保该文件未通过重定向提供。如果出现问题,请检查您的网络主机正在执行的任何缓存。最后,我通过

Content-Type
文件将
application/json
标头设置为我的
_headers
,因为我的 Web 主机是 Cloudflare Pages。


希望这对遇到此主题的其他人有所帮助!我花了太多时间来解决这些问题。

© www.soinside.com 2019 - 2024. All rights reserved.