tomitank / cordova-plugin-admob-tomitank

Cordova AdMob Plugin
https://ratson.github.io/cordova-plugin-admob-free
MIT License
11 stars 4 forks source link

Apple rejecting update for IOS 15.1 #24

Closed 123dma closed 2 years ago

123dma commented 2 years ago

I'm trying to update my app but for the fourth time the binary is rejected by Apple. This is the information they show. I've done tests on emulators and on a physical device with IOS 15.1 the message appears correctly. I do not know what is happening.

3 de dez de 2021 às 18:36 De Apple

  1. 1 Performance: App Completeness Guideline 2.1 - Information Needed

We're looking forward to completing our review, but we need more information to continue. Your app uses the AppTrackingTransparency framework, but we are unable to locate the App Tracking Transparency permission request when reviewed on iOS 15.1.

Next Steps

Please explain where we can find the App Tracking Transparency permission request in your app. The request should appear before any data is collected that could be used to track the user.

If you've implemented App Tracking Transparency but the permission request is not appearing on devices running the latest OS, please review the available documentation and confirm App Tracking Transparency has been correctly implemented.

If your app does not track users, update your app privacy information in App Store Connect to undeclare tracking. You must have the Account Holder or Admin role to update app privacy information.

Resources

hooliapps commented 2 years ago

Hello

Here's my code (to adapt) to launch ATT control (to be adaptes to your needs).

A.attOk = false; console.log('admob.getTrackingStatus()'); if (typeof admob !== 'undefined') { admob.getTrackingStatus().then(function(status) {
console.log('admob.getTrackingStatus() --> status:'+status); if (status == 'authorized') { A.attOk = true;

                    }
                    else if (status == 'notDetermined') {
                        console.log('admob.trackingStatusForm');
                        admob.trackingStatusForm().then(function(status) {
                            console.log('admob.trackingStatusForm() --> status:'+status);
                            if (status == 'authorized') {
                                A.attOk = true;
                            }

                        });
                    }

                });
123dma commented 2 years ago

Hi @hooliapps thanks my code was always approved. Now it's not being anymore. I couldn't understand in your code where you call the ad

hooliapps commented 2 years ago

Hello, it's not the code to call the Ad, but only to init Admob with permissions.

123dma commented 2 years ago

Apple continues to reject the update. As it seems even though the message appears successfully in ios 15.2.0 emulators. Apparently on physical devices the message is not displayed. This is the message Apple reports on all rejections.

De Apple

  1. 1 Performance: App Completeness

Guideline 2.1 - Information Needed

We're looking forward to completing our review, but we need more information to continue. Your app uses the AppTrackingTransparency framework, but we are unable to locate the App Tracking Transparency permission request when reviewed on iOS 15.2.

Next Steps

Please explain where we can find the App Tracking Transparency permission request in your app. The request should appear before any data is collected that could be used to track the user.

If you've implemented App Tracking Transparency but the permission request is not appearing on devices running the latest OS, please review the available documentation and confirm App Tracking Transparency has been correctly implemented.

If your app does not track users, update your app privacy information in App Store Connect to undeclare tracking. You must have the Account Holder or Admin role to update app privacy information.

I took a look at this thread seems to be happening more often:

https://developer.apple.com/forums/thread/671623

Looks like they got a solution but we would need tomitank's opinion

image

123dma commented 2 years ago

@tomitank Looks like things have changed in IOS 15. Can you help?

image image

Forum URL https://developer.apple.com/forums/thread/690607?answerId=689399022#689399022

123dma commented 2 years ago

The application was accepted by apple. I added in the code a time of 2 seconds to present the form. It's not the ideal but it worked.

dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 2 * NSEC_PER_SEC), dispatch_get_main_queue(), ^{ [self.commandDelegate sendPluginResult:pluginResult callbackId:callbackId]; });

URL do fórum https://developer.apple.com/forums/thread/690607?answerId=689399022#689399022

tomitank commented 2 years ago

Maybe i never had same error, because of i wait for internet connection before i call admob init. And first check the last value of apptrackingstatus. Only after this method call i the trackingStatusForm.