我们按照下面的电容器深度链接文档进行了深度链接,然后我们检查单击深度链接,它不会将我们带到移动应用程序,并且 URL 将在浏览器中打开。
https://capacitorjs.com/docs/guides/deep-links
如果有任何其他解决方案,请帮助我们 - 使用电容器进行深度链接
确保您的 assetlinks SHA256 与用于每个构建变体(调试构建/firebase 分发/playstore)的签名密钥完全匹配,具有不同的 SHA256。
您可以编写一个数组并添加 一些 asstelinks,以便每个构建都像提到的那样
如果您在 Playstore 上创建生产版本,请检查您的 Play 控制台深层链接是否有错误。我在 Android 12 和 13 上的应用程序仅在浏览器中打开深度链接,它只需要验证网站所有权。
这是 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。
希望这对遇到此主题的其他人有所帮助!我花了太多时间来解决这些问题。