我的网站上有三个按钮,即指向 Facebook、Twitter 和 vk.com 页面的链接。我想打开 native 应用程序,如果它安装在用户设备上。否则,我希望打开URL后备。
首先,我尝试通过 deep-link.js 插件直接使用原生应用方案。但是,当我尝试打开 native 应用程序 URL 方案时,未安装 native 应用程序时,Safari 显示错误,但最终打开了 URL 回退页面。默认的Android浏览器说他不知道如何处理这样的URL scheme:
<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默认浏览器上,您必须使用Intent,而不仅仅是尝试打开深层链接。例如,将您的 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。
我在 HOKO 上工作,这是一种免费、简单且容易的方法,可以让所有内容在 Android 和 iPhone 上运行,我们已经完成了所有相关工作。您可以宁愿使用它,也可以直接给我们留言,我们会为您提供帮助。