如何进行延迟深度链接?

时间:2015-05-20 14:28:54

标签: ios mobile deferred deep-linking

如何进行延迟深度链接并生成唯一的移动签名。我尝试使用IP地址,屏幕大小,操作系统版本,设备名称,但仍然没有成功。

1 个答案:

答案 0 :(得分:3)

该评论肯定会得到一个很好的答案。高级别,以下是步骤:

  1. 您的链接应指向您网站上收集数字指纹的网页
  2. 该页面应至少收集IP地址,操作系统,操作系统版本和屏幕大小(宽度和高度)。应该发送到您的服务器并放置在持久性存储中。 Redis因其快速的查找时间而非常适合这一点。还记录点击链接的某种唯一标识符(可能是redis中的值)。
  3. 然后重定向到应用程序(URI方案)并回退到App Store / Play商店。这是iOS的一个例子。 iframe的优点在于,如果未安装应用程序,它会终止alertView。这应放在身体中:

        <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>
    
  4. 当用户打开您的应用时,向您的服务器发送相同的参数组合,并搜索您的持久性商店,以查看此设备最近是否点击了某个链接。向您的应用发送回复(例如{ link_id: "1234" }{ link_id: -1 })您的应用逻辑应根据点击的链接做出回应。

  5. 希望这是有道理的。我们在Branch执行此操作,可以向您保证,它比从头开始推出此解决方案更难。各个浏览器甚至个别应用程序都引入了大量边缘案例(例如,当链接被分享到Twitter并在原生Android应用程序中点击时)。但在它的核心指纹识别相对简单。希望以上内容很有用。