Interstitial showing after app closes on Android

1,439 views
Skip to first unread message

Brandon Davis

unread,
Aug 11, 2014, 4:09:16 PM8/11/14
to google-adm...@googlegroups.com
Hey Admob,

What is best practice for insuring my interstitial ad doesn't open after the app is backgrounded on Android?  I currently have requirements that state that my interstitial should be re-requested on foreground (requesting onStart so that I don't request after closing an interstitial and we throttle the ads ourselves).  Currently, I have it set up to show the ad onAdLoaded() which I know is incorrect.  Opening it later and checking to see if the ad request is done works, but isn't it really the ad request that should be getting canceled when we close the app?  Are there any plans to add the ability to cancel ad requests later?

Regards,
Brandon  

Amy Quispe (AdMob SDK Team)

unread,
Aug 11, 2014, 8:49:21 PM8/11/14
to google-adm...@googlegroups.com
Hi Brandon,

My colleague Eric wrote a blog post about creating a splash screen interstitial. You can use this same technique to keep a flag and handle this in the lifecycle methods. (See Early Exit.)

Hope this helps!

Nezneika Hami

unread,
Aug 11, 2014, 10:35:33 PM8/11/14
to google-adm...@googlegroups.com
Dear Amy,

I wonder showing Admob Interstitial on exit (Back button clicking) is acceptable? Any documents explain about this? Thank you.

Hami.

@Brandon: sorry for posting question in your thread.

Amy Quispe (AdMob SDK Team)

unread,
Aug 12, 2014, 8:45:18 PM8/12/14
to google-adm...@googlegroups.com
HI Nezneika,

You are allowed to show an AdMob Interstitial on exit, but we don't recommend it as it is a poor User Experience. Also, you are not allowed to show interstitials outside the app, so you'll need to make sure that doesn't happen.

Amy Quispe

Brandon Davis

unread,
Aug 12, 2014, 9:03:56 PM8/12/14
to google-adm...@googlegroups.com

If we are not allowed shouldn't an early exit be handled by the SDK?

--

---
You received this message because you are subscribed to a topic in the Google Groups "Google AdMob Ads Developers" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/google-admob-ads-sdk/9j4ni9oXtoY/unsubscribe.
To unsubscribe from this group and all its topics, send an email to google-admob-ads...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Nezneika Hami

unread,
Aug 13, 2014, 10:18:02 PM8/13/14
to google-adm...@googlegroups.com
Dear Amy,

Thanks for your information, at least I know that showing Interstitial on Exit trigger is legal.

I always try to make sure that interstitial not being shown outside the app.

My scenario is that, keeping Interstitial instance when app launches, when User presses Back button to exit, it pop up the ads. If user closes ads, it comes back to app then finish() is called right away to exit app.

Regards,
Hami.
Message has been deleted

L Nigogosian

unread,
Nov 3, 2014, 12:08:23 PM11/3/14
to google-adm...@googlegroups.com
I am not sure what you mean when you say "show interstitial ad outside the app". I want to load my interstitial on pause of activity and show it on resume. Is this allowed?
Kind Regards
Levon Nigogosian

Eric Leichtenschlag

unread,
Nov 3, 2014, 6:43:52 PM11/3/14
to google-adm...@googlegroups.com
You can show an interstitial on resume if you wish. Just make sure that you don't get into an infinite loop of showing interstitials, as when the interstitial itself shows, your activity is paused, and your activity is resumed when the interstitial is dismissed.

Thanks,
Eric

Muhammad Babar

unread,
Feb 6, 2015, 7:36:22 AM2/6/15
to google-adm...@googlegroups.com
Hi Amy,
Please elaborate "interstitials outside the app"? 

And can you please confirm is it legal or not. In my app i have a interstitial that is loaded and shown when app starts but if user press the home button prior to interstitial loaded and shown then after some time when interstitial is loaded it does popups while the app was in background. On backpress it take user back to the activity from which ad is shown?

I asked this because i don't want to update the app for such a little change.

Regards
Muhammad Babar

Eric Leichtenschlag (Mobile Ads SDK Team)

unread,
Feb 6, 2015, 3:51:35 PM2/6/15
to google-adm...@googlegroups.com
I think that was Amy's exact point. If the user accidentally loads your app and backgrounds it immediately, they will have no idea why they're suddenly presented with an interstitial a few seconds later.

To avoid this, your app should be checking to see if the user left the app (via onPause or similar Activity lifecycle method) and cancel the showing of the interstitial when it finishes loading.

L Nigogosian

unread,
Feb 7, 2015, 4:30:17 AM2/7/15
to google-adm...@googlegroups.com
If you load the interstitial when OnPause is received from the other application and then show the application when onResume is received by your application then the user has asked to resume your application so when he gets the advert he/she knows that it has appeared because he/she has resumed. An important point is that when OnResume is called then the  Interstitial code should be executed first followed by a return before any of the other OnResume code is executed. If this is not done then depending on your OnResume code problems may arise. 

If the user uninstalls your application and then installs it again then the advert may show because on starting the application OnResume is called. But this is unlikely. 

--

---
You received this message because you are subscribed to a topic in the Google Groups "Google Mobile Ads SDK Developers" group.

Muhammad Babar

unread,
Feb 7, 2015, 7:17:34 AM2/7/15
to google-adm...@googlegroups.com
Also Eric don't you think InterstitialAd class should have a public pause() and resume() methods that should be called in activity's life cycle onResume and onPause thus handling the background and foreground by itself.

Muhammad Babar

unread,
Feb 8, 2015, 7:24:45 AM2/8/15
to google-adm...@googlegroups.com
Also can you please answer this one. Is it OK(Google Play Ads Policy) to ask user to watch an Ad just to support the developer? I mean i have a free app in which can i put an option "Support developer by watching Ad"?

Regards
Muhammad Babar

Eric Leichtenschlag (Mobile Ads SDK Team)

unread,
Feb 10, 2015, 12:52:11 PM2/10/15
to google-adm...@googlegroups.com
Hi Muhammad,

The interstitial should already know when it's being paused/resumed because it currently lives inside of a new activity when popping up. I suppose the interstitial does have the original context, and if it is an activity context, could potentially check to see if that activity is on the top of the stack before actually presenting the interstitial. However, I haven't thought about all the use cases of this yet, and this may be too restrictive of behavior. The app should of course know when it's being paused, and definitely has enough information to not call interstitial.show() if the activity isn't active. This can be done with a boolean flag that you flip in onPause, and you can check that flag before showing the interstitial.

The AdMob policy disallows encouraging users to click on ads, and by extension encouraging to watch videos that pay per impression. I would recommend you be careful here.

Thanks,
Eric


On Sunday, February 8, 2015 at 4:24:45 AM UTC-8, Muhammad Babar wrote:
Also can you please answer this one. Is it OK(Google Play Ads Policy) to ask user to watch an Ad just to support the developer? I mean i have a free app in which can i put an option "Support developer by watching Ad"?

Regards
Muhammad Babar
On Sat, Feb 7, 2015 at 5:17 PM, Muhammad Babar <rajababa...@gmail.com> wrote:
Also Eric don't you think InterstitialAd class should have a public pause() and resume() methods that should be called in activity's life cycle onResume and onPause thus handling the background and foreground by itself.
On Sat, Feb 7, 2015 at 2:30 PM, L Nigogosian <nigogos...@gmail.com> wrote:
If you load the interstitial when OnPause is received from the other application and then show the application when onResume is received by your application then the user has asked to resume your application so when he gets the advert he/she knows that it has appeared because he/she has resumed. An important point is that when OnResume is called then the  Interstitial code should be executed first followed by a return before any of the other OnResume code is executed. If this is not done then depending on your OnResume code problems may arise. 

If the user uninstalls your application and then installs it again then the advert may show because on starting the application OnResume is called. But this is unlikely. 
To unsubscribe from this group and all its topics, send an email to google-admob-ads-sdk+unsub...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

--

---
You received this message because you are subscribed to a topic in the Google Groups "Google Mobile Ads SDK Developers" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/google-admob-ads-sdk/9j4ni9oXtoY/unsubscribe.
To unsubscribe from this group and all its topics, send an email to google-admob-ads-sdk+unsub...@googlegroups.com.

Muhammad Babar

unread,
Feb 11, 2015, 8:14:53 AM2/11/15
to google-adm...@googlegroups.com
Hello Eric,
Thanks for your brief response.
 You: The app should of course know when it's being paused, and definitely has enough information to not call interstitial.show()

Yes the app does know and can do but the suggestion was to auto handling of showing and delaying like if Interstitial class will have a pause() method then when we call it from our activity onPause so even it gets a call to display ad it will abort temporarily by enabling a flag and in when InterstitialAd.resume will be called from Acitivty onResume then if Interstitial have a previously loaded Ad it can show else ignore.

The AdMob policy disallows encouraging users to click on ads, and by extension encouraging to watch videos that pay per impression. I would recommend you be careful here.
Yes i was meant for video ads. So you recommend to be careful if i ask user to watch a video to support developer. Can you please explain what's wrong and if is it against the policy can you please send me the link to TOS of google play?

P.S: BTW some apps are doing it already by asking user to watch a video to earn virtual currency! I don't know if its legal or not.

Many thanks
Muhammad Babar


To unsubscribe from this group and all its topics, send an email to google-admob-ads...@googlegroups.com.

Eric Leichtenschlag (Mobile Ads SDK Team)

unread,
Feb 12, 2015, 2:49:47 PM2/12/15
to google-adm...@googlegroups.com
Hi Muhammad,

I suppose the SDK could theoretically store the state of the app if you call interstitial.pause() and interstitial.resume(), but at that point your code is not much different than managing that boolean flag yourself. And if its controlled in your own code, you obviously have more control over the behavior. I think more developers will get confused if we started ignoring interstitial.show() in some cases. I think it would be more confusing than helpful for the average developer.

Here is the help center link on encouraging clicks. What you are talking about regarding videos for in game rewards is called a "rewards based video" format, something that AdMob does not offer today. The video interstitials you see from AdMob today would either be pay per click or pay per view, and so the guidelines on not encouraging clicks still apply.

Thanks,
Eric

On Wednesday, February 11, 2015 at 5:14:53 AM UTC-8, Muhammad Babar wrote:
Hello Eric,
Thanks for your brief response.
 You: The app should of course know when it's being paused, and definitely has enough information to not call interstitial.show()

Yes the app does know and can do but the suggestion was to auto handling of showing and delaying like if Interstitial class will have a pause() method then when we call it from our activity onPause so even it gets a call to display ad it will abort temporarily by enabling a flag and in when InterstitialAd.resume will be called from Acitivty onResume then if Interstitial have a previously loaded Ad it can show else ignore.

The AdMob policy disallows encouraging users to click on ads, and by extension encouraging to watch videos that pay per impression. I would recommend you be careful here.
Yes i was meant for video ads. So you recommend to be careful if i ask user to watch a video to support developer. Can you please explain what's wrong and if is it against the policy can you please send me the link to TOS of google play?

P.S: BTW some apps are doing it already by asking user to watch a video to earn virtual currency! I don't know if its legal or not.

Many thanks
Muhammad Babar

Eric
To unsubscribe from this group and all its topics, send an email to google-admob-ads-sdk+unsubscrib...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

--

---
You received this message because you are subscribed to a topic in the Google Groups "Google Mobile Ads SDK Developers" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/google-admob-ads-sdk/9j4ni9oXtoY/unsubscribe.
To unsubscribe from this group and all its topics, send an email to google-admob-ads-sdk+unsubscrib...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

Muhammad Babar

unread,
Feb 13, 2015, 5:34:20 AM2/13/15
to google-adm...@googlegroups.com
Well a good documentation will never make any developer confused but this was just a suggestion. Also this way you can enforce the google's policy to not show Ads outside of app :)

Well i was not talking about encouraging clicks i know this is not allowed. I think i can't passed my intention correctly. Let me make it easy and clear.

Is it legal if i add a button in my app label "Support developer" on clicking on it i can show a dialog informing user about that they have to watch a video. If user click OK then video ad will be played.

This is from policy
  • Encourage users to click the Google ads using phrases such as "click the ads", "support us", "visit these links" or other similar language.
And it cleary says about `click the Google ads` not Viewing!
And can this be done for some other Ad network i just wan't to make sure is it legal according to Google Play policy?

Many Thanks
Muhammad Babar

To unsubscribe from this group and all its topics, send an email to google-admob-ads...@googlegroups.com.

Eric Leichtenschlag (Mobile Ads SDK Team)

unread,
Feb 17, 2015, 2:52:43 PM2/17/15
to google-adm...@googlegroups.com
This is more of an AdMob policy than a Google Play policy. Unfortunately, I'm not qualified to approve/disapprove of certain policy implementations.

My personal interpretation of that guideline, though, is you shouldn't encourage users to take actions that result in charging the advertiser/crediting the publisher. So if those videos are paid per impression and not click (especially if it's a true view ad that pays for watching the entire video), then encouraging the user to watch the full video is the same as clicking a different ad in my mind.


On Friday, February 13, 2015 at 2:34:20 AM UTC-8, Muhammad Babar wrote:
Well a good documentation will never make any developer confused but this was just a suggestion. Also this way you can enforce the google's policy to not show Ads outside of app :)

Well i was not talking about encouraging clicks i know this is not allowed. I think i can't passed my intention correctly. Let me make it easy and clear.

Is it legal if i add a button in my app label "Support developer" on clicking on it i can show a dialog informing user about that they have to watch a video. If user click OK then video ad will be played.

This is from policy
  • Encourage users to click the Google ads using phrases such as "click the ads", "support us", "visit these links" or other similar language.
And it cleary says about `click the Google ads` not Viewing!
And can this be done for some other Ad network i just wan't to make sure is it legal according to Google Play policy?

Many Thanks
Muhammad Babar

Muhammad Babar

unread,
Feb 17, 2015, 5:56:05 PM2/17/15
to google-adm...@googlegroups.com
Ok so this is purely adsense + Admob policy not to encourage users to click or see ads! Not Google Play's! Right?

Can i do the above i.e ask user to watch a video for some other Ad network? All i want to make sure is that Is is legal for Google play.

Many Thanks

To unsubscribe from this group and all its topics, send an email to google-admob-ads...@googlegroups.com.

Muhammad Babar

unread,
Feb 22, 2015, 8:59:32 AM2/22/15
to google-adm...@googlegroups.com
Eirc kindly answer.
Reply all
Reply to author
Forward
0 new messages