Beware of showing admob interstitials on app launch

Hi Guys,

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.

This happened to me yesterday on exit interstitial (first time ever), I was unable to replicate it.

I got banned from play store twice, but never from admob.

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.

Thanks again :slight_smile:

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.

I would concur, avoid admob if you want income security.

My account was disabled after 5 years with no problems. No response from Admob accept an automated reply.

Took 2 months of revenue as well.

They are just a faceless arrogant organisation now.

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.

Thx for warning, tried it on a 4.0.3. emulator however couldn’t reproduce it.

Also never had any issues like this during testing (till now).

which version of admob sdk you used. I was using 6.4.1

also 6.4.1

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.

warning for all those who using Interstitial ads on app launch and on app exit because it’s not legal anymore and you can banned anytime
read more about policy here

Not recommended, doesn’t mean not allowed.

It is not illegal, just not recommended.

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 :slight_smile:

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.

I also controls the frequency of impressions. twice ad will not be shown.
Advertising on launch and exit is not recommended, but it is not prohibited.

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.