[Possible bug] Admob Interstitials don't call resumeTimers() thus resulting in unresponsive ads

116 views
Skip to first unread message

Merc -

unread,
Apr 14, 2017, 7:44:59 AM4/14/17
to Google Mobile Ads SDK Developers
Hey! I'm new to Admob Groups, but I'd just like share something with you that might be useful in improving the Admob SDK on Android but also for users experiencing a similar issue.

The context
I'm using a WebView in my application as well as interstitials. When I show an interstitial in my application or when the application goes to the background, I pause the WebView by calling browser.onPause() and browser.pauseTimers() to ensure that the WebView doesn't continue playing content as the interstitial is showing or the app is on the background. As the interstitial is closed, or the app is resumed , I call browser.onResume() and browser.resumeTimers() to resume the browser.

The issue
However, when you call pauseTimers it does not only pause my WebView instance, but all WebView instances in the application, including the WebView that shows the Interstitial. This causes the interstitial advertisement to be completely unresponsive: you can't click buttons/links, video content won't play, timers won't count down, etc. 

The (proposed) solution
For now, I check if the browser is paused because an interstitial is about to show (and in that case, I don't call pauseTimers, otherwise I do). But hopefully you can see that this isn't an ideal solution. In addition, there might be a lot of developers that wonder why their ads aren't responsive. Ideally, the browser used in the Admob framework should also call resumeTimers and pauseTimers.

Devices where I've tested this issue: Nexus 5X on Android 7.1.1 (but I found other devices & versions to also be affected) using play-services-ads:10.2.0



Deepika Uragayala- MobileAds SDK team

unread,
Apr 14, 2017, 2:34:48 PM4/14/17
to Google Mobile Ads SDK Developers
Hi Merc,

Thanks for writing this to us. I would say that this is working as intended since our AdView's are all loaded using a WebView and if you call pause() on it, then SDK would not be able to load it. I will, however, bring this up with the team to see if we can provide any documentation for this.

Regards,
Deepika Uragayala
Mobile Ads SDK Team
Reply all
Reply to author
Forward
0 new messages