我正在尝试通过单击电子邮件中的链接来打开Native iOS应用。我曾经使用过“自定义网址方案”。如果我在Safari浏览器中输入“test://”,则将打开本机iOS应用。但是,如果我单击电子邮件中的链接“test://”,则它的前缀为http,例如“http://test//”,并且它没有打开iOS应用程序。我浏览了很多链接,发现"iOS needs a Webpage which will redirect to custom url of native iOS App"
打开了一个应用程序。 Is it possible to open an app from email link without using a webpage redirects to app?
前进,谢谢您的帮助!
最佳答案
简单的答案可能是“否”,因为您几乎无法控制各个应用程序如何处理链接。复杂的答案是您应该对此做些事情。请注意,它并不总是需要返回完整的网页-在装有Chrome的Android上,您可以直接将307重定向触发到Chrome Intent。
您可以设置一个简单的Web服务器,在对其执行ping操作时返回`window.location ='test://'。
或者更好的是,您可以尝试在iframe中打开URI方案,然后在不存在应用程序的情况下回退到Web URL。这可以使用以下机制来实现:
iOS 9上的
这是客户端javascript的示例:
<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>
这正是我们在我的公司branch.io中所做的。我们一直在不断处理浏览器和Web视图的更改,因为总是存在新的场景。在决定如何将用户深层链接到您的应用程序时,必须查看用户代理字符串。