I’ve received a warning from AdMob for my interstitial ads and the violation is described ad Layout Encourages Accidental Clicks – Unexpected Launch Interstitials. I know these types of questions have been asked before, and I tried suggestions mentioned in them but still facing the issue.
Initially I was calling
loadAd() method as soon as app was launched and showing the interstitial in ‘onAdLoaded()` method. I fixed this and submitted a review, but it was rejected.
I will explain how I changed the ad placement:
I’ve pre loaded the ad on app launch, and when user clicks a button in the home screen, a new Activity is started and the loaded ad is shown after 1 sec delay.
It’s a rubik’s cube solving app. And one ad I’m showing when the cube solving is finished.
I also tried to set frequency capping to block repetitive showing of ad for same button click.
But the violation is still there. Can you please guide me how should I show the ad in my case?
You could try setting a timer variable that resets each time one of the ads is shown. When you show ad the next time, check if a suitable enough time has passed and exit if not.
Calling loadAd() at the start is fine. But the only other time you should call it with the onAdClosed() from inside the ads listener, or when ever you re-orient the screen. When the ad is finished playing, it closes. That’s when you want to load a new ad into the buffer.
Making a bannerAd safe is a bit trickier. I managed to make mine only react to DoubleClicks. TestAds No more accidental banner clicks.
As for what Google finds wrong with your stuff, I have no idea how they process things. I’ve had my run in’s with them too, and I always loose.
I have fixed this violation by not doing anything while interstitial is being shown. You need to call next action in the ad closed or dismissed method
Here is a clear implemenetion