我的网站上有三个按钮,分别链接到 Facebook、Twitter 和 vk.com 页面。如果用户设备上安装了 native 应用程序,我想打开它。否则,我希望打开 URL 回退。
首先,我尝试直接使用 native 应用程序方案 deep-link.js插入。但是,当我尝试打开 native 应用程序 URL 方案时,当 native 应用程序未安装时,Safari 显示错误,但最终打开了 URL 后备页面。默认的 Android 浏览器说他不知道如何处理这样的 URL 方案:
<a class="btn btn-primary" href="https://www.facebook.com/warpcompany" data-app-ios="fb://profile/838619192839881" data-app-android="fb://page/838619192839881">Facebook</a>
然后我尝试使用应用程序链接“标准”,它有来自 Facebook 的大量推广。我什至尝试使用他们的托管应用程序链接,以确保我以正确的方式生成了所有内容。它不起作用,它总是重定向到网站后备。您可以从 https://fb.me/746134728830806 轻松自行测试
是否可以在网站上提供深层链接,至少在默认操作系统浏览器中可以无错误地打开 native 应用程序,或者静默回退到 URL?
最佳答案
这仍然是可能的,但在较新版本的 Android 默认浏览器上,您必须使用 intents 而不是仅仅尝试打开深层链接。例如,将 fb://page/838619192839881
替换为
intent://page/838619192839881#Intent;scheme=fb;package=com.facebook.katana;end
这将默认回退到 Google play,但您可以通过添加 S.browser_fallback_url
覆盖回退:
intent://page/838619192839881#Intent;scheme=fb;package=com.facebook.katana;S.browser_fallback_url=http%3A%2F%2Fwww.facebook.com%2F;end
回退应该是 url 编码的。
当然,如果用户不使用 Android 手机或使用旧版本的默认浏览器(或奇怪的浏览器),您就会遇到问题。您可以设置一系列条件,并为每种情况用正确的代码替换您的 HTML。
关于android - 是否可以实现从网站到 native 应用程序的深度链接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30334889/