Comments (6)
Yes using setTimeout( delayCallIDFA, 500 ); and placing rest code in function delayCallIDFA it works and my 2 apps approved on itunes.
from ane-idfa.
What happens in your app when you trigger the authorisation request?
Can you post the logs from your device?
https://docs.airnativeextensions.com/docs/tutorials/device-logs
from ane-idfa.
I can confirm this. I had 1 app rejected yesterday because of this. (Interestingly, another app using the exact same shared code was accepted that very same day.)
This is my code:
private function authorizeTracking(aStatus:String = null):void
{
if (!aStatus) aStatus = IDFA.service.authorisationStatus();
trace("ATT status: " + aStatus);
switch(aStatus)
{
case TrackingAuthorisationStatus.NOT_DETERMINED:
if (!mAskingAuthorization)
{
mAskingAuthorization = true;
trace("Show ATT request");
IDFA.service.requestAuthorisation(authorizeTracking);
return;
}
// Not determined, even after showing the request dialog
mNonPersonalized = true;
break;
case TrackingAuthorisationStatus.AUTHORISED:
mNonPersonalized = false;
break;
case TrackingAuthorisationStatus.DENIED:
mNonPersonalized = true;
break;
case TrackingAuthorisationStatus.RESTRICTED:
mNonPersonalized = false;
break;
}
mAskingAuthorization = false;
// Setup ad service, ask for consent (UMP) if required, then initialize ads
setupAds();
}
On iOS 14, it works fine, and shows the ATT dialog before UMP can interfere.
Updated my device to iOS 15, and now there is no ATT dialog showing before the UMP ones. Eventually, UMP does show the ATT dialog, but because of the dialogs preceding it, the app is rejected.
The iOS 15 device log shows:
standaard 11:27:52.693551+0200 MyApp com.distriqt.IDFA::DTIDFAController::authorisationStatus
standaard 11:27:52.693653+0200 MyApp [ATTrackingManager] trackingAuthorizationStatus API call invoked.
standaard 11:27:52.696350+0200 MyApp ATT status: not_determined
standaard 11:27:52.696398+0200 MyApp Show ATT request
standaard 11:27:52.696448+0200 MyApp com.distriqt.IDFA::DTIDFAController::requestAuthorisation
standaard 11:27:52.696497+0200 MyApp [ATTrackingManager] trackingAuthorizationStatus API call invoked.
standaard 11:27:52.696758+0200 MyApp [ATTrackingManager] requestTrackingAuthorizationWithCompletionHandler API call invoked.
standaard 11:27:52.697083+0200 MyApp com.distriqt.IDFA::DTIDFAController::requestAuthorisation: complete: not_determined
standaard 11:27:52.700635+0200 MyApp Received configuration update from daemon (initial)
standaard 11:27:52.700742+0200 MyApp Skip setting user action callback for 3rd party apps
standaard 11:27:52.701323+0200 MyApp ATT status: not_determined
standaard 11:27:52.701647+0200 MyApp Setup Ads
Another device log with info and debugging messages included is attached:
ioslog2.txt
from ane-idfa.
Did you try the fix mentioned here to delay the initial request by a small amount to ensure the app is in the correct state?
from ane-idfa.
from ane-idfa.
I didn't know of that fix; I'll try it. Thanks.
from ane-idfa.
Related Issues (14)
- advertisingTrackingEnabled not working on Android HOT 2
- Please update the IDFA library
- It don't work on IOS 16.5 HOT 20
- Type was not found or was not a compile-time constant: ConsentInformationEvent. HOT 5
- isLimitAdTrackingEnabled is always true on IOS HOT 4
- [iOS 17.4] requestAuthorisation callback is called at unexpected times HOT 3
- App Store "Invalid architectures" issue HOT 2
- IDFA Android 64bit support HOT 1
- AndroidX migration
- ld: framework not found AppTrackingTransparency HOT 5
- How to localize HOT 3
- It always returns Authorized without showing a popup HOT 9
- ld: unexpected token: !tapi-tbd for architecture arm64 Compilation failed while executing : ld64 HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ane-idfa.