Apple just rejected our latest game update because of a problem with the AppTrackingTransparency request.
We’ve been using extension-adinfo to show the ATT dialog for some time. The difference is that Apple are now testing on iOS 15 and they claim not to see the dialog. The problem is that on our iOS15 devices, we do see it.
They’ve given quite a lot of advice, including to read the ATT documentation.
Calls to the API only prompt when the application state is
UIApplicationStateActive. The authorization prompt doesn’t display if another permission request is pending user confirmation. Concurrent requests aren’t preserved by iOS, and calls to the API through an app extension don’t prompt. Check the
trackingAuthorizationStatusfor a status of
ATTrackingManager.AuthorizationStatus.notDeterminedto determine if you need to make an additional call.
Because we can’t reproduce the issue, I’m nervous about guessing at the cause.
I notice that extension-adinfo doesn’t check
trackingAuthorizationStatus. so my suspicion is that some timing has changed, and
ATTrackingManager.AuthorizationStatus.notDetermined is being returned.
There’s a lot of discussion among non-Defold developers about this, e.g. one dev said " I found that if I moved the code from my main ViewController’s viewDidLoad method to the AppDelegate’s applicationDidBecomeActive method, it works as expected in both iOS14 & iOS15."
We call adinfo.get() from a script init function, so could just delay it, but it would be a guess.
Has anyone else encountered this?