Target Country for Firebase A/B Testing not working - target

I have this setting but it doesn't seem to send only to targeted Country. What can I do fix it?
Target:
App =xxx;
Version >= 9.3.1
Country/Region is in Canada
50% of eligible users are in this experiment
Thank you

Related

How to distribute iOS older versions of Apps to only clients

I've been in googling to find out my solution for our business model since last 3 days but i'm still not finalised, Let me explain we're selling solution our product which include server, web, mobile apps(iOS and Android), we're in process to release different versions of our product Some of our clients don't to want upgrade, lets say we released version 3.0, some clients upgraded but some don't want they want to stick to version 2.0, but on both mobile apps stores apps are updated to 3.0 and if someone deleted their old apps from their device then they only have option to app 3.0.
As you know we can dealt with Android apps as we can generate .apk file which can download to every device, so to dealt with above problem we send them older version of apps downloadable link (lets say we use diawi), so they can use android app 2.0 with server 2.0
But when we come to iOS we've three options
Developer Account (Appstore or restricted to 100 devices)
Enterprise Account (can go more than 100 devices but only for inhouse, not for clients)
Apple Business Manager (B2B solution), it fit into our requirement but how to download older version of apps ? is there any versioning control on their platform as I've no idea about this.
Forgive me if I explained little much but I'm still looking for solution to which will fit into our requirement.
Looking for suggestion and help.
Thanks

Subscription promotion before iOS 11.2

Background
My app has a few subscription products, one of which offers a promotion e.g. 50% off for the first month.
What I am trying to achieve
When I query for the products via StoreKit, I'd like to know if one or more products have promotion enabled on a pre-11.2 iOS device.
What I have tried
When I query StoreKit for all products, StoreKit gives me an array of SKProducts.
If it's iOS 11.2+ device, the goal can be easily achieved by checking SKProduct.SKProductDiscount, however, my app supports iOS9+ and pre 11.2 devices don't support SKProductDiscount(introductory pricing). Wondering if there is a way that I can achieve the same goal for users running on a pre 11.2 iOS device?

iTunes Connect - total installs vs current devices that have the app installed

How can I know or calculate an iOS app's total installs vs current devices that have the app installed?
I have the totals units and as I understand that is the total install count and not how many devices have my app right now.
You can get more details about app statistics by using 3rd party frameworks such as Flurry. You won't be able to detect if a user uninstalls the app, but you can see how many unique users are using the app in a specific interval. You can also see which OS version your users have installed.
use TestFlight Live for analytics and crash reports for App Store submitted app

How to get card.io to scan expiration dates? (iOS 6)

I've been told by others that the card.io SDK can scan expiration dates in addition to card numbers. Yet when I integrate it into my iOS 6 iPad project, I'm only able to scan the card number. Has anyone had success in other implementations? (i.e. iOS 5, iPhone, etc.)
Thanks in advance.
I work at card.io. Newer versions of the card.io SDK (3.x and above) do all the card scanning locally on the client - older versions sent images to our server for scanning. We haven't added expiry scanning to this new version yet, but it's still a better customer experience as it's faster (no waiting for network latency) and more accurate (no more failed reads).

"This code is for an app that is not compatible with this device."

We have an app in the Apple App Store that we can't seem to get installed on a Verizon iPhone (from the App Store, not Xcode). This may have nothing to do with the fact that it's a Verizon device, but that is the main difference I see between it and the devices I can get to run it.
We are attempting to install the app using a promotional code, but we receive an error when hitting Redeem, as seen in this picture: (promo code blocked out)
ERROR: This code is for an app that is not compatible with this device. You can redeem it on your desktop computer or a compatible device.
The error device is an iPhone 4 (Verizon) running iOS 4.2.8. This error was received when the app was built for 3.x and the assumption was that Verizon devices would not accept apps not built with at least SDK 4.
However, the app was recently updated (yesterday) to use the 4.3 SDK. The app has its deployment target set to iOS 3.1 and has been successfully installed and tested on a device (iPhone 3G AT&T) running this version. This latest version has also been successfully retrieved and tested on an iPhone 4 (AT&T) running 4.3. We were under the impression that every version in-between (3.1 - 4.3) would then be compatible, perhaps this is not the case?
Unfortunately, the Verizon device is not available for Xcode deployment nor ad hoc distribution.
Now for the actual development question:
Is there a build setting that can explain this behavior? Failing that, I would like to determine if the error is limited to the specific device or all devices either running 4.2.8 or Verizon specific hardware.
I would be willing to share a promotional code or two to people running 4.2.8 (or later) on a Verizon device (This is not a bribe. You are welcome to keep the app of course, but I am offering this only for installation testing purposes, not for promotional reasons). If you think you can help, please indicate your interest in the comments. I have not mentioned the app here, because I don't want to unnecessarily spam my product if the answer can be determined without it, but I have no problem sharing that information if required.
Update:
I followed lxt's suggestion and waited to see if it was a caching issue with the App Store servers. Unfortunately, 40 hours after I was informed the update was ready for sale, we are still receiving the same error.
I have found the following threads in the Apple Developer forums confirming this problem is not limited to our app: (A login may be required)
Promo-code redeemer getting "this code is for an app that is not c...
Promo codes broken on Verizon iPhones ?
I have submitted a bug report to Apple (ID 9905790) concerning the issue. At this time, I am unsure if this issue is related to Verizon devices or iOS 4.2.8. Once I receive a definitive answer I will post it. For now, a workaround that appears to be working for others which we have not yet tried, is to redeem and install through iTunes.
Since this appears to only affect Promo Code redemption and NOT store purchases, the issue has lost much of its urgency. However, if anyone is able to provide more information or a solution, it is still very much appreciated.
Update:
I can confirm that redeeming the codes through iTunes and then installing to a Verizon device works fine. This means the problem is not with the app or the build settings, but with the Verizon device App Store redemption.
I have received one reply from Apple in response to my bug report asking me to verify if this occurs on 5.0b5. Unfortunately, as previously mentioned, we do not have developer access to the Verizon device (which is the entire reason for using a promotional code in this instance). I have asked them to confirm if this is a Verizon/iOS specific issue and will update this issue when I have more information.
According to the Apple documentation, it's just a matter of setting the deployment target:
You have indicated that your binary requires iOS 4.3 or later. Apps that require iOS 4.3 or later will not be available to Verizon iPhone users. If your app could be compatible with earlier iOS versions, you may want to reject your binary and upload a new one that indicates the earliest compatible iOS.
That's the message that's normally appended to App Store emails when you have an app waiting for review.
So in theory it should 'just work'.
However, what would be interesting to know would be:
Did you produce the promotional code before updating the app?
If so, do you get the same results with a promo code generated after updating the app (you never know with the App Store / iTunes Connect...)
After 24 hours are you still seeing the same issue? (24 hours being the normal App Store 'refresh period')
Sorry, I could not provide you with more concrete answers. At times it does feel like the App Store is held together with string, so it wouldn't be completely surprising if it was some value being kept around that should have been knocked back when you updated the app.
That said, it's a little strange that your app wouldn't work on the Verizon phone when you built it for 3.x. Why is the Verizon device not available for Xcode deployment? Is it because you don't have one to hand (understandable), or is it something else? There's no reason why it shouldn't be able to have ad-hocs thrown on it.
This is pure speculation:
Since there's a different build of iOS for the Verizon phone, maybe under the hood all apps on the appstore are available twice - one time signed for use on the AT&T version of iOS and one time signed for the Verizon version. The Appstore would deliver the appropriate version depending on your device.
If this would be the case and since redemption codes existed before the Verizon line of phones, it may be that redemption codes point to one version of the app only, leading the appstore to believe it is incompatible when redeemed on the "wrong" phone.
End of speculation.
I'd suggest instructing your friend to buy the app (if it's not too costly) and paying him the money back. If this works, then cleary what we're dealing with is a bug in Apples gift code system and you should be filing a bug report about this.
Btw: you're not alone with this problem. Although they didn't resolve it, the guys on this forum mention the exact same situation.

Resources