branch.io - 参数 +is_first_session 始终为 false

branch.io - parameter +is_first_session always false

我正在使用分支 iOS SDK 发送通用 links。我的一个测试设备现在总是 returns 参数 +is_first_session 为 false。

我删除了待测设备上的应用,在另一台设备上安装了该应用。我通过消息或电子邮件将安装 link 发送到没有应用程序的设备,打开 link(App Store 已打开),最后安装带有 xCode 的调试版本。该代码适用于某些设备(iOS 10.1.1 和 iOS 9.3),但不适用于 iOS 10.2。它以前一直在同一台设备上工作,所以我认为它与新的 iOS 版本有关。

有什么可能有用的想法吗?谁能解释一下 +is_first_session 是如何确定的?谢谢...

更新: Apple 在 iOS 10.2 中引入了一个未经宣布的更改(在 Branch,我们认为这实际上可能是 Apple 的一个错误)打破了 Branch 使用的逻辑区分安装和重新安装。这导致 iOS 10.2 上的一些新安装错误地报告 +is_first_session: false。我们实施了后端更改来解决该问题。


来自 Branch.io 的 Alex:+is_first_session 是 Branch 用来确定某个应用程序 ever 之前是否安装在该唯一设备上的变量。这意味着如果您在过去的任何时候安装过任何版本,您将在此处获得 false,这是设计使然,因为它允许您为首次安装者构建自定义体验(相对于重新安装的人)安装)。

如果你想绕过这个用于测试目的,你会想要使用 debug mode。一旦启用,您将在安装该应用程序时随时获得 is_first_session: true(这意味着,您删除该应用程序并重新安装它,或者从 Xcode 安装一个新版本)

在我对 iOS 13 的测试中,如果在 iOS 设置应用中启用了“隐私”>“广告”>“限制广告跟踪”选项(这意味着 IDFA 不会暴露给 Branch,那么+is_first_session 键值将始终为 false,即使该应用程序是第一次安装。

我从中得出的结论是,在所有情况下都不能依赖值 +is_first_session 来提供有用的信息。