branch.io - parameter +is_first_session always false

2.1k Views Asked by At

I am using branch iOS SDK for sending universal links. One of my test devices now always returns the parameter +is_first_session as false.

I delete the app on the device to be tested and install the app on another device. I send the install link via message or email to the device without the app, open that link (App Store is opened) and finally install the debug version with xCode. The code works on some devices (iOS 10.1.1 and iOS 9.3) but not on an iOS 10.2. It has always worked before on the same device, so I am thinking it has something to do with the new iOS version.

Any ideas that might help? Can anybody explain how +is_first_session is determined? Thanks...

2

There are 2 best solutions below

5
On BEST ANSWER

UPDATE: Apple introduced an unannounced change in iOS 10.2 (at Branch, we believe this may actually be a bug from Apple) that broke the logic Branch uses to differentiate between installs and re-installs. This caused some new installs on iOS 10.2 to incorrectly report +is_first_session: false. We have implemented a backend change to resolve the issue.


Alex from Branch.io here: +is_first_session is the variable Branch uses to determine if an app as ever been installed on that unique device before. This means if you have installed any version at any point in the past, you will get false here, which is by design as it allows you to construct customized experiences for first-time installers (vs. people who have re-installed).

If you want to bypass this for testing purposes, you'll want to use the debug mode. Once this is on, you'll get is_first_session: true any time the app is installed (meaning, you delete the app and reinstall it, or install a fresh build from Xcode)

0
On

In my testing on iOS 13, if, in the iOS Settings app, the Privacy > Advertising > Limit Ad Tracking option is enabled (meaning the IDFA is not exposed to Branch, then the +is_first_session key value will always be false, even if the app is installed for the first time.

My takeaway from this is that the value +is_first_session cannot be relied on to provide useful information in all cases.