Rajesh
Rajesh

Reputation: 359

app rejected due to iOS Advertising Identifier

My app was rejected due to iOS Advertising Identifier, I'm not using iAd. I'm using google ads , google analytics, google+ login, and Facebook login in my app.

reason for rejecting is

3.2: Apps with placeholder text will be rejected Program License Agreement PLA 3.3.12

We found your app uses the iOS Advertising Identifier but does not include ad functionality. This does not comply with the terms of the iOS Developer Program License Agreement, as required by the App Store Review Guidelines.

Specifically, section 3.3.12 of the iOS Developer Program License Agreement states:

"You and Your Applications (and any third party with whom you have contracted to serve advertising) may use the Advertising Identifier, and any information obtained through the use of the Advertising Identifier, only for the purpose of serving advertising. If a user resets the Advertising Identifier, then You agree not to combine, correlate, link or otherwise associate, either directly or indirectly, the prior Advertising Identifier and any derived information with the reset Advertising Identifier."

Note: iAd does not use the AdSupport framework, ASIdentifierManager, or the Advertising Identifier. Therefore they are not required for iAd implementations and should not be included in your app for iAd support.

Please check your code - including any third-party libraries - to remove any instances of:

class: ASIdentifierManager selector: advertisingIdentifier framework: AdSupport.framework

If you are planning to incorporate ads in a future version, please remove the Advertising Identifier from your app until you have included ad functionality.

To help locate the Advertising Identifier, use the ìnmî tool. For information on the ìnmî tool, open a terminal window and enter, ìman nm.î

If you do not have access to the libraries' source, you may be able to search the compiled binary using the "strings" or "otool" command line tools. The "strings" tool lists the methods that the library calls, and "otool -ov" will list the Objective-C class structures and their defined methods. These techniques can help you narrow down where the problematic code resides.

I have include all SDK (AdSupport framework), libGoogleAnalyticsServices.a, and libGoogleAdMobAds.a

This is code I'm using for google ad

self.adBanner = [[GADBannerView alloc] initWithAdSize:kGADAdSizeBanner origin:origin];
    self.adBanner.adUnitID = kSampleAdUnitID;
    self.adBanner.delegate = self;
    self.adBanner.rootViewController = self;
    [scrlView addSubview:self.adBanner];
    [self.adBanner loadRequest:[self request]];

#pragma mark GADRequest generation

- (GADRequest *)request {
    GADRequest *request = [GADRequest request];

    // Make the request for a test ad. Put in an identifier for the simulator as well as any devices
    // you want to receive test ads.
    request.testDevices = @[
                            // TODO: Add your device/simulator test identifiers here. Your device identifier is printed to
                            // the console when the app is launched.
                            GAD_SIMULATOR_ID
                            ];
    return request;
}

#pragma mark GADBannerViewDelegate implementation

// We've received an ad successfully.
- (void)adViewDidReceiveAd:(GADBannerView *)adView {
    NSLog(@"Received ad successfully");
}

- (void)adView:(GADBannerView *)view didFailToReceiveAdWithError:(GADRequestError *)error {
    NSLog(@"Failed to receive ad with error: %@", [error localizedFailureReason]);
}

Everything is working fine google login, FB login, google analytics, & google Ad But app was rejected. What I want to do for my app now?

Upvotes: 4

Views: 3200

Answers (1)

thierryb
thierryb

Reputation: 3728

This is certainly because you are using Advertising Identifier but no ad is displayed. Just put a sample ad during validation process.

Upvotes: 1

Related Questions