Some warning. If you are showing an interstitial on app launch then do test your app (specially for older android versions like 4.0.4). I just saw some kind of bug where if you close the admob’s app launch interstitial, the onDismissScreen callback is invoked and the app restarts and hence the interstitial is shown time and again (sort of infinite loop). This can easily get us banned.
P.S. Remember Play store and admob go in sync which means if you get banned from admob, the same app/account has high chances of getting banned from play store and vice versa.
Thanks for the warning. I’m currently using interstitial on app launch and was going to use AdMob as well on app launch, but your message got me worried))
How it’s possible to test the app on different Android versions to see how it behaves? Because I’m having troubles with emulators in Eclipse and kinda not sure how truthful the emulator would act. Any advice would be appreciated.
I usually test on my older handsets or take help from friends. But yesterday I noticed this problem on 4.1.2 Jelly bean too. So far I noticed it on app launch and was able to reproduce it. As @Niles confirmed, he has seen this bug on app exit too.
Best bet is to use some other network for app launch and exit inters.
Beware of …using admob. This is only one network who banned me without reason in my normal(not spam) apps(mostly sport apps like Interval Training) 1,5 year ago. They stolen my funds and not replied on emails. They are so big and can do anything.
Yea, but admob pays the most so its worth it, I send 200,000 impressions to Mobfox, Appflood, Tapit and make like $10, while the same impression with Admob makes like $200. If you aren’t cheating them and clicking your own banners you should be fine, granted I send about 2 million impressions a day to admob.
Sorry for digging up such an old thread, but I’m currently facing this problem and I’m not able to find a solution.
Some of my user report that when they close the interstital ad after 2 seconds another ad apprears. I’ve try to reproduce this on about 50 devices and no luck… I’m using GooglePlayServices. Ad gets created in Activity.onCreate() and called in AdListener.onAdLoaded().
Was anyone able to fix this? I think this may be a problem with GooglePlayServices, but I’m not 100% sure. I’ve already tried using a boolean guard in AdListener.onAdLoaded but no luck. Also I’ve tried using a CountDownTimer to display the ad (not the AdListener), but also no luck:( It look like GooglePlayServices falls into a loop somewhere in its internal code and keeps displaying the ad.
Not following these guidelines may lead to invalid activity.
It suggests that it is only a problem if it produces higher CTR than usual, and for example if users click back even before the content was loaded (which means they clicked the ad by mistake).
How Google treats this is another matter as we all know it. Sometimes they are okay with it, sometimes not. Just like with any other matter, sometimes obvious copyright infrigriments are fine, for example if they relate to some unknown or indie studio, or if they produce good $$ for Google, and sometimes minor infrigriments (or none at all) result with a ban.
Anyway, If you can avoid this behaviour, then do it. But keep in mind that you might get banned with admob easily, no matter if you comply with their policies or not. They’ll give you the standard robot message that they ban you, they’ll say "you violated our policy: " and they’ll quote their full policy and give you no hint what they think was wrong with your app. And then they’ll steal your money.
[edit]
Magnesus was faster, but I explained in more detail
There’s strange. Interstital on app start was recommened to me by a Google employe as the best strategy for making money with ads. Anyway does anyone know how to prevent this “ad loop” bug? (other then saving the last display time and making sure that new ads don’t get loaded before X minutes?)
@TurboJohn - I do just that. I save last displayed date and never show ads more often than defined time (at the moment, I set it to 2 minutes). I also limit interstitials by actions. So:
I display interstitial on launch if it was not displayed in last 2 minutes
then I count user actions (for example button clicks or levels played)
when I want to display the ads, I check last date AND I check actions count
For example, if user made 10 actions AND last interstitial was displayed more than 2 minutes ago, then I give 20% chances to display the interstitial. If user did 20 actions I could give 60% chances, and if he did 25 actions - 100% (its not linear in my case). I always check both conditions to display interstitial. With this method the user can’t be sure if he’ll get the ad next time he does a certain action, and I am sure he will not get the ads too often.
I hope it makes me immune to the ad loop bug.
allagainstyou thanks for the info. I was thinking about this problem and I’ve also come to the conclusion that a time guard is the only clean solution. Also thanks for the 2 minute interval info (I was wondering what should I put there so that my users won’t be annoyed to much).
@TurboJohn I put 2 minutes of 100% “ad protection” AND I add another conditions to show next ad, so I think my ads will be displayed every 3 minutes (on average). You could also just randomize the interval, pick random time between 2 and 4 minutes, and the next action after that time will show the interstitial.