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

标签 ios mobile deferred deep-linking

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

最佳答案

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

  • 您的链接应指向您网站上收集数字指纹的页面
  • 该页面应至少收集 IP 地址、操作系统、操作系统版本和屏幕尺寸(宽度和高度)。应该发送到您的服务器并放置在持久存储中。 Redis 在这方面非常有用,因为它的查找时间很快。还要记录点击链接的某种唯一标识符(这可能是 redis 中的值)。
  • 然后重定向到应用程序(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>
    
  • 当用户打开您的应用程序时,将相同的参数组合发送到您的服务器并搜索您的持久存储以查看此设备最近是否点击了链接。向您的应用发送响应(例如 { link_id: "1234" }{ link_id: -1 } )然后您的应用逻辑应根据点击的链接进行响应。

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

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

    相关文章:

    ios - 在 Xcode 项目中构建所有目标(或方案)

    ios - 如何让 iOS VoIP 应用在响铃时遵守请勿打扰?

    ios - 在没有 xcode 的情况下安装 watch 应用程序

    android - 使用CSS禁用移动滚动

    angularjs - 使用 TypeScript 返回 AngularJS $q promise

    ios - 快速从模数和指数创建SecKey

    iphone - 文字消失在iphone上改变方向

    java - 奇怪的应用程式无法在其他行动装置上运作

    javascript - angularjs延迟 promise 不延迟

    javascript - 通过更新then()内部的deferred链接的jQuery链吗?