2015-05-20 57 views
2

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

+1

相关答案:[iOS中的延迟深入链接](http://stackoverflow.com/questions/25855618/deferred-deep-linking-in-ios) – jfriend00

+0

你是如何得到下面的实质性答案的? – halfer

+0

改为使用剪贴板。像魅力一样工作:https://stackoverflow.com/a/44475847/1704120 –

回答

2

评论链接到一个很好的答案,当然。高级别,这里的步骤:

  1. 你的链接应该指向您网站上的一个页面,收集的数字指纹
  2. 该网页应收集,至少,IP地址,操作系统,操作系统版本和屏幕尺寸(宽度和高度)。应发送到您的服务器并放置在持久存储中。由于其快速查找时间,Redis非常适合这种情况。还要记录某种链接被点击的唯一标识符(这可能是redis中的值)。
  3. 然后重定向到应用程序(URI方案)并回退到App Store/Play Store。这里是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. 当用户打开您的应用程序,发上来则params的同一组合到您的服务器和搜索持久性存储,看看这个设备的链路上最近点击。向您的应用下发响应(例如,{ link_id: "1234" }{ link_id: -1 })您的应用逻辑应该根据点击哪个链接进行响应。

希望这是有道理的。我们在分公司这样做,可以向你保证,从头开始推出这个解决方案比它更难。各种浏览器甚至个别应用程序引入了大量边缘案例(例如,链接共享到Twitter并在本机Android应用程序中单击时)。但是它的核心指纹相对简单。希望以上是有帮助的。