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?
It can actually range from . 05% to a whopping 10% and primarily depends how much time you are spending to optimize your website for more clicks and what niche the website is about. The average CTR for the display advertising industry is about . 10%.
Click Create ad unit. Follow the Google Developers instructions for Android, iOS, or Unity to implement banner ad units in your app code. You will need your app ID and ad unit ID during implementation. This ad unit won't show ads until you've completed this step.
It will only pay you if user clicks on the ad. Lets say your app is being used by 1000 users per day, and every user uses the app for 15 minutes a day, then total visibility time of your app in a day is 15000 minutes. Now if you display 1 ad per minute, there will be 15000 ads a day (admob calls this impressions).
A general rule of thumb is to always put your users first - make sure your ads don't draw unnatural attention, mislead users, encourage clicks, or appear in places that may cause invalid clicks. If we find a large amount of invalid activity in your app(s), you may be at risk for account disablement.
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:
tagForChildDirectedTreatment
to YES
to indicates that you want your content treated as child-directed for purposes of COPPA.tagForChildDirectedTreatment
to NO
to indicate that you don't want your content treated as child-directed for purposes of COPPA.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
}
You could try other approaches:
You can target your ads for kids:
GADRequest *request = [GADRequest request];
[request tagForChildDirectedTreatment:YES];
You could implement your parental control at the beginning of your app. If it pass, show ads, if not don't show ads.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With