Users able to circumvent interstitials

Users can suspend and resume an app during an AdMob ad to quickly remove it.

In this way a user can quickly dismiss an AdMob interstitial. No need to wait for the ad timer to wind down and wait for the close button to display.

Anyone else experiencing this? It’s a sure fire way for users to avoid ads and hurt developer ad revenue. Ouch! :frowning:

I wonder if this happens with other ad providers? You might want to check yours…

I’m on iOS using build 3604 and the latest iOS on iPad.

By “suspend and resume” do you mean minimize the app and open it again?

Have you checked the “closed” event from interstitial ads?
You can test the following, assuming this is the event that gets triggered when a user closes the ad interactively then basically you can use a variable to flag whether the ad was closed or not. And so, on app resume, check whether an interstitial ad was showing (use a variable for that as well) and whether the ad was “closed”. If it wasn’t closed, and the app just resumed, and it was showing an ad then most likely it was showing an ad that got bypassed , so show it again. They wouldn’t be able to circumvent this. :thinking:

Now, if by any chance the ad does trigger a proper “closed” event when the app is resumed then you can use a timer/counter to see how much time it has passed since the “displayed” and “closed” events are triggered. Since Solar2D won’t run any functions while suspended then your counter will only increase while the app is not suspended.

Yes - minimise the app and open it again immediately. Doing so dismisses the interstitial video (AdMob) that did not complete playing at the point of app suspension.

I do (normally!) carefully monitor all the events connected with displaying AdMob ads in the listener. But no, I have not checked the events as a user suspends and resumes. Reason being is that regardless of what happens in the listener (print("event.phase etc etc) the user can still easily circumvent seeing the AdMob ads using a quick suspend/resume.

But you make some good suggestions.

Alas, if I attempt to show an interstitial in “applicationResume” in the OnSystemEvent(event) handler regardlessof flag setting/testing, no interstitial will show (or perhaps I should say continue).

I am sooo tempted to try one of my older (then) Corona apps to see if this problem occurs but dare not test my ads on a live app in case of account suspension.

I wish someone would check this suspend/resume action and see if AdMob (or any other ad provider!) fails to resume playing when a user suspends and resumes while an interstitial video ad is showing.

So annoying!

Just tried Ketchapp Stacks game. AdMob banners but not AdMob interstitials. Unsurprisingly suspend/resume does not dismiss the ad. Ad is still there on resumption.

My question is are Solar2D apps exhibiting this unfortunate behaviour for AdMob or other video ads?
:frowning:

I have limited view since I’m on my cellphone, but looking at the source it seems the onSuspend function only checks for banners and rewarded video type ads.

If interstitial objects can be paused then a check for TYPE_INTERSTITIAL would need to be added as well for both, onSuspend and onResume.

It does seem that way to me also. :frowning:

I can see a banner.resume() and a rewardedAd.resume(coronaActivity.getApplicationContext());

I can’t see a similar call for interstitial videos (non-rewarded). I’m not well placed to say if there is an omission…?

Created an issue on GitHub for that repository. Please follow and contribute if necessary.

1 Like