我将在Facebook和Twitter上发布深度链接以让用户进入我的应用程序。我已经开始测试Facebook的链接,只要安装了Facebook应用程序,链接就有效。如果他们没有安装Facebook应用程序,则会跳转到我的网站。
如果用户没有安装Facebook应用程序或更一般地说,点击我的应用程序链接时,最佳实践是如何处理后备方案以确保他们始终被发送到我的应用程序中?
我将在Facebook和Twitter上发布深度链接以让用户进入我的应用程序。我已经开始测试Facebook的链接,只要安装了Facebook应用程序,链接就有效。如果他们没有安装Facebook应用程序,则会跳转到我的网站。
如果用户没有安装Facebook应用程序或更一般地说,点击我的应用程序链接时,最佳实践是如何处理后备方案以确保他们始终被发送到我的应用程序中?
很好的问题。与其分享直接指向您的应用程序的深链接,您应该在您的网站上托管一个带有JavaScript回退代码的页面。该页面可以直接打开应用程序,或者回退到应用商店(而不是您的网站)。
这是一个具体的示例页面,您需要在服务器上托管并在Facebook上链接。它也适用于电子邮件、社交媒体等。只需替换您的应用程序URI和您的应用程序App Store链接。请注意,iframe 可以在更多浏览器上使用。
<!DOCTYPE html>
<html>
<body>
<script type="text/javascript">
window.onload = function() {
// Deep link to your app goes here
document.getElementById("l").src = "my_app://";
setTimeout(function() {
// Link to the App Store should go here -- only fires if deep link fails
window.location = "https://itunes.apple.com/us/app/my.app/id123456789?ls=1&mt=8";
}, 500);
};
</script>
<iframe id="l" width="1" height="1" style="visibility:hidden"></iframe>
</body>
</html>
如果用户已安装您的应用程序,则具有URI的链接将成功,并且在可以触发重定向到App Store的脚本之前,用户将离开浏览器。 如果用户没有安装您的应用程序,则重定向将成功(在短暂的错误消息后)。
披露:我是Branch Metrics的一名开发人员,上述代码是我们解决此问题的一部分。
你好,Jeffrey Nicholson Carré。以下是使用JavaScript编写的Android意图代码:
if(userAgentString.indexOf('Android')>0){
window.location="intent://DataSchemeDataHostname/UV="+UVvalue+"&forgetuserId="+userID+"#Intent;scheme=https;package=com.sisystems.Sisystems;S.browser_fallback_url=https://example.com/index.html?UV="+UVvalue+";end";
}