Search code examples
iosobjective-cadmobappstore-approvaladbannerview

AdMob event when Banner ad is clicked


I have integrated AdMob banner ads in my iOS app which is made for kids. App got rejected from App store review process with following message:

You have selected the Kids category for your app, but it includes links out of the app or engages in commerce without first obtaining parental permission. Specifically, your app includes advertisements that, when tapped, take the user to a web page or the App Store.

I have integrated parental control, but not able to identify from where to initiate parental control. I check for some way to handle click of Banner view GADBannerView in GADBannerViewDelegate class, but there is not any. There is following delegate method

-(void)adViewWillLeaveApplication:(GADBannerView *)bannerView;

But This method is just to notify that it will leave app- I cant return NO or write anything here to restrict it from Leaving the app.

Can anyone help me in finding way to stop app from opening GADBannerView if required?


Solution

  • For purposes of the Children's Online Privacy Protection Act (COPPA), there is a setting called tagForChildDirectedTreatment.

    Here's a link that describes the use of the method.

    Basically this is what you can do:

    • Set tagForChildDirectedTreatment to YES to indicates that you want your content treated as child-directed for purposes of COPPA.
    • Set tagForChildDirectedTreatment to NO to indicate that you don't want your content treated as child-directed for purposes of COPPA.
    • Do not set tagForChildDirectedTreatment if you do not wish to indicate how you would like your content treated with respect to COPPA.

    Also you must follow the App Store Guidelines. Here's a quote important for your situation:

    Apps in the Kids Category may not include behavioral advertising (e.g. the advertiser may not serve ads based on the user’s activity), and any contextual ads must be appropriate for young audiences. You should also pay particular attention to privacy laws around the world relating to the collection of data from children online. Be sure to review the Privacy section of these guidelines for more information.

    For a short inspiration on this check out this guide form Apple. https://developer.apple.com/app-store/parental-gates/

    What you can do: Set the tagForChildDirectedTreatment to YES. Don't track user data for the kids. Be careful on what types of ads you show.

    If you want your app to be in the child category you can't show adds that takes the child out of the app. But you if you first ask for parental permission you can do that. To do that you either add or not add a banner view/other ads dependent on the answer from parental permission.

    Edit: Maybe this can work as a check before the add opens safari/app store:

    func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool {
    
        //check the url that opens. 
        //present parental control
        //return true or false /open or reject opening safari/app store
    }