深层链接后备

Ben*_*nny 13 twitter android facebook deep-linking ios

我将发布到Facebook和Twitter的链接,以便深入链接到我的应用程序.我已开始使用Facebook进行测试,只要安装了Facebook应用程序,我的链接就可以正常运行.如果他们没有安装Facebook应用程序,他们就会被带到我的网站.

如果用户没有安装Facebook应用程序或者更频繁地点击我的应用程序的链接并且我总是希望将它们发送到我的应用程序,那么处理回退的最佳做法是什么?

st.*_*ick 9

好问题.您不应共享直接指向您的应用的深层链接,而应在您的网站上使用Javascript中的后备代码托管页面.该页面可以直接打开应用程序,也可以回退到App Store(而不是您的网站).

以下是您需要在服务器上托管并链接到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>
Run Code Online (Sandbox Code Playgroud)

因此,如果用户安装了您的应用程序,则带有URI的链接将成功,用户将离开浏览器,然后才能触发重定向到App Store的脚本.如果用户没有您的应用程序,则重定向成功(在发送简短的错误消息之后).

披露:我是Branch Metrics的开发人员,上述代码是我们解决此问题的一部分.