获取 Universal Link 的引用字符串?

Get referrer string for Universal Link?

我在我们的 iOS 9 应用程序中实现了通用链接,它们通过调用 AppDelegate.swift 中的方法来工作,我在其中得到一个 NSUserActvity 附有 URL。

有没有办法获取 (HTTP-) referer?我需要知道用户在哪个网站上点击了打开应用程序的 link。

不,无法获取引荐来源网址。 一位 Apple 员工在开发者论坛上说得很清楚:https://forums.developer.apple.com/thread/65423

他们说获得某种引荐来源网址的唯一方法是将其附加到 URL。也许看看 Google 的活动跟踪 URLs (utm_...)。

您应该能够使用 NSUserActivity > referrerURL 实例 属性。参见 https://developer.apple.com/documentation/foundation/nsuseractivity/2875762-referrerurl

如果您需要支持 iOS 9 和 10 - https://appmetrica.yandex.com/blog/referrer-based-tracking-dlya-ios-tochnaya-atributsiya-dlya-lyubogo-istochnika-trafika.

,我发现了另一个有趣的解决方案

因为 iOS 11 我猜可以使用 NSUserActivity > referrerURL.

简而言之:

  • SFSafariViewController 使用与 Safari 应用相同的 cookie。
  • 您可以在您的应用程序中打开不可见的 SFSafariViewController。
  • 如果您的网站包含一些 cookie - 使用通用 Link 将其传回应用程序。

尽管它需要在您的网站上实施类似跟踪 link 的功能。