branch.io - parameter +is_first_session always false - ios

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...

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)

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.

Related

Are there other people that are having issues with iOS entitlements with iOS version 13.1.2?

iOS Universal links (generated by branch.io) are working inconsistently across different devices.
We are using branch.io to generate links to send users to our app when it is installed, and to the App Store when the app is not installed. We have tested branch.io links on eight iOS devices. Seven devices are running 13.1.2 and one device is running 13.1. All of the devices have our app installed. When clicking on the branch.io link, five of the devices open the app directly and three of the devices incorrectly go to the App Store (one of which is running 13.1).
I have checked the apple-app-site-association file to make sure that it is correct - https://link.insponetwork.com/apple-app-site-association by using the aasa validator - https://branch.io/resources/aasa-validator/.
I'm wondering if others have noticed issues with entitlements not working as they should with their app since the 13.1.2 update came out. If so, has anyone found a workaround or any other information about this issue.
Can you check your URI Scheme deep linl mode under link settings on your Branch Dashboard? If you are using conservative mode, you might want to change to Intelligent or Aggressive mode. If the problem persists, please reach out to support#branch.io

Remove support for iPhone with new updated version of app

We released few versions of our app with universal support ( i.e. app is supported both on iPhone and iPad). Now with new version of our app (1.14) we want that this version should be available to iPad only. This means 1.14 should be available only on iPad and iPhone user may not able to install it. But when we change setting in Xcode from Universal to iPad only it gives error while uploading ipa to app store that if previous version of app supported iPhone then in updated version of app we cannot remove iPhone support. Now we are looking for solution to this problem. Please guide us what are way to over come this issue. Due to this issue we have to delay our app release so kindly give us possible suggestions as soon as possible.
There is no good way of doing what you want. Apple deliberately don't want you removing functionality for existing users.
Maybe the only way forward is to remove your current app from sale and submit a new, iPad-only version. You'll lose your reviews, sales rank, etc.

IOS: Can not install our app from Appstore

Our new IOS app was updated to Appstore successful yesterday.
Some users can update normally but the others not.
Include myself, we can see Appstore is downloading our app,so do the icon on desktop.
But when downloaded the icon of our app disappear.
It seems that the app was not installed.
Some 6 and 6s users have this question.
Our app is passed by Appstore, and some user can download and install it.
The package seems worked.
Why the app can not be installed in some users' IPHONE?
Finally catch the problem.
Because of the pool network, we retried a few times updating the package.
At the last time, we choose the wrong package with lower version code in Info.plist.
The package had a lower code, but may apple keep a higher version code for verification.
We get a lot of 1stars caused by this which made us upset.
I don't understand why Apple put it to AppStore in such a case.
Anyway, please be careful at package updating.
No issues with you code as well as your package info. Yesterday Apple had issue with their server.
Refer this link for more info.
If app is installed without any issue & in some device its not than there might be few possible reasons like below:
First possible reason is Minimum IOS version set in the App is higher than the device OS version. Let say for ex: In your App you have set the Minimum iOS version to 9.0. And users who are not able to install will running of less than 9.0.
Second possible reason is Architecture support. May be your app not supporting arm 64 support & due to that it will not allowing to install on arm64 based devices.
Now in your case i strongly believe there will be minimum iOS version issue. Why less chances of second issue is as you know now arm64 support is compulsory in iOS Apps. Otherwise Apple will reject your app.
I hope this will help you.

Check if a particular app is installed or launched on iOS 9

Does anybody know how to check if a particular app is installed or launched on iOS 9.
Previously I used a PhoneGap plugin that returned a list of running apps so I could check it (using sysctrl). But it doesnt work on iOS 9 because they have closed many backdoors. It could be a list or just a check for a particular app (process or budle name or whatever else). As I understand ulrscheme is not working for this purpose, because this should work for any app, with or without urls setup.
App is designed for Enterprise Distribution model so we can use some hacks if needed because it`s not for App Store distribution and verification.
This is not possible in iOS9. Check this article.

Getting Production data for iOS apps with Testflight sdk

I have an iOS App with Testflight's sdk 1.1 enabled to get production data. This worked well during beta testing and I submitted the same build (with sdk enabled) to Appstore and the build is approved and released.
However, I dont see any data regarding the usage in testflight live. I have been looking around to find if there are any special setup needed for that without success.
Note that I DONT have the same build version as in appstore in testflight anymore. But I figured that testflight live will still be able to show usage dat.
Anyone have experience with this? Can someone point me in the right direction
After checking around, it looks like as of v1.1, you NEED to have the same build that is submitted to Appstore to be in testflight as well. The reason is that the event matching is done using the UUID of the build.
Their support indicated that they are working on handling orphaned build events as well.

Resources