ios - 如何进行延迟深度链接?

标签 ios mobile deferred deep-linking

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

最佳答案

当然,评论链接到一个很好的答案。高层,以下是步骤:

  1. 您的链接应指向您网站上收集数字指纹的页面<​​/li>
  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. 当用户打开您的应用时,向您的服务器发送相同的参数组合并搜索您的持久存储以查看该设备最近是否点击了链接。向您的应用程序发送响应(例如 { link_id: "1234"} { link_id: -1 } } )然后您的应用程序逻辑应根据点击的链接做出响应.

希望这是有道理的。我们在 Branch 这样做,并且可以向您保证,从头开始推出这个解决方案比看起来要难。个别浏览器甚至个别应用程序引入了大量边缘案例(例如,当链接共享到 Twitter 并在 native Android 应用程序中单击时)。但其核心指纹识别相对简单。希望以上内容对您有所帮助。

关于ios - 如何进行延迟深度链接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30352647/

相关文章:

ios - 附加到文本文件不起作用

ios - 在 iOS 二进制文件 (ipa) 中插入或添加新的库加载命令

javascript - JQuery 等待多个延迟解析

使用 AVFoundation 和 Swift 的 iOS 多 channel 音频

ios - 如何关闭多 View Controller

html - 使用 MQ 对 HTML/CSS 进行移动/平板电脑优化

css - 移动设备上的错误内容宽度

asp.net-mvc - ASP.NET MVC4 移动 : CS0103: The name 'DisplayModes' does not exist in the current context

go - 在 new func 中运行 goroutine 或不在 recover 之间的区别

python - 扭曲:如果回调出错,则没有异常跟踪