如何在 iOS 中实现延迟深度链接

How to achieve deferred deep linking in iOS

我对深度链接很熟悉,但我对延迟深度链接只有理论上的了解iOS。

我正在使用本教程:

http://blogs.innovationm.com/deferred-deep-linking-in-ios-with-universal-link/

但我不知道如何使用 javascript 和 SFSafariViewController 在 Web 浏览器和移动应用程序之间共享 url/token。有人可以解释我如何实现延迟深度链接,如果他们已经破解的话。

SFSafariViewController Cookie 匹配

我相信您指的是 SFSafariViewController cookie 匹配。这是通过将 cookie 存储在 Safari 应用程序中,然后从 SFSafariViewController 的隐藏实例中提取这些 cookie 来完成的,因为它们共享相同的 cookie。不幸的是,在 iOS 11 中,Apple 取消了此 cookie 共享。

指纹

要自行解决延迟深度 linking,您可以尝试执行指纹匹配。这涉及一些服务器端逻辑,并且随着您的扩展可能会变得笨拙。基本思想是在单击 link 时提取一组有关用户设备的参数,即 OS、屏幕尺寸、OS 版本、IP 地址,并将该信息存储在您的服务器中.当用户随后打开您的应用程序时,提取一组相似的参数并向您的服务器发出请求以查找与刚刚打开您的应用程序的设备最匹配的设备。此技术不会是 100%,但如果做得好,您应该能够以很高的可能性匹配。

基于记忆的匹配

使用 Branch 的好处(注意:我是该软件的作者)是您可以利用其他 Branch 应用程序进行的匹配网络在过去。例如,如果用户使用 Airbnb 应用程序,Branch 可以将他们的设备信息与他们的浏览器信息相关联,并存储该信息以供任何其他 Branch 应用程序使用。因此,您将能够利用其他大型应用程序的匹配。 Branch 还提供免费的 deep linking,所以自己构建这个没有意义。