我将发布到Facebook和Twitter的链接,以便深入到我的应用程序中。我已经开始用Facebook进行测试,只要安装了Facebook应用程序,我的链接就可以正常工作。如果他们没有安装Facebook应用程序,他们就会被带到我的网站。
如果用户没有安装Facebook应用程序,或者更常见的情况是点击我的应用程序的链接,而我总是希望将它们发送到我的应用程序中,那么处理回退的最佳实践是什么?
发布于 2015-02-19 06:38:10
问得好。与其分享一个直接指向你的应用程序的深层链接,你应该在你的网站上托管一个带有Javascript回退代码的页面。该页面可以直接打开应用程序,也可以返回到app Store (而不是您的网站)。
这是一个具体的例子,你需要在你的服务器上托管页面并链接到Facebook上。它也适用于电子邮件、社交媒体等。只需在中替换你的应用程序的URI和你的应用程序的应用商店链接。请注意,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的一名开发人员,上面的代码是我们解决这个问题的一部分。
发布于 2020-02-27 15:43:04
嗨,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";
}https://stackoverflow.com/questions/22873068
复制相似问题