我正在尝试通过单击电子邮件中的链接来打开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上的

  • ,使用通用链接
  • Chrome中的
  • (很快,Firefox 41.0!)使用Chrome Intents
  • 在所有其他浏览器上使用
  • ,请使用客户端javascript

  • 这是客户端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视图的更改,因为总是存在新的场景。在决定如何将用户深层链接到您的应用程序时,必须查看用户代理字符串。

    10-08 07:48
    查看更多