Revmob showing ad problems on some Android versions

I have been trying to add RevMob into my existing setup with no success. I had confirmation of init, session, adLoaded but freezes when i tried to show the interstitial with no erros.  So i tried the example project RevMobSample and i have the same freeze. I tried some other placement IDs and banner and video worked okay but after video finished froze with a black screen which forced me to hard close the app. If I didnt it would eventually say the app isnt responding

Tested on two devices (phone and tablet) in portrait and landscape. Android versions 4.1.2 and 4.2.2

Update: its (only on phone not tablet)working about 1 out of 10 times. So maybe the isLoaded is being true when its not or think its session is started when its not?

Only the rare moment its working, it can show an add many times but i have to load after each show. Even suspending and resuming it works.  

I tried loading a few times before i showed an ad and that didnt help so maybe its not initiating properly

Just checked on a third device - still an old one but with Android 5.1.1 and it has worked 5 out of 5 times.

Also a device with Android 4.2.2 works

It seems unusable on devices with on android 4.1 and 4.2 unless its something else like screen size?

For now I wont be using this plugin

I made a workaround using system.getInfo( “androidApiLevel” ) and if its over 18 then i allow any revMob things to happen.

This allows me to keep it universal and not to crash on 30% of the Android market

Of course you have to load after each show. Once you’ve shown the ad, you can’t show the same one again. Loading fetches a new ad for that ad type, after it has been shown on screen.

When you say “interstitial” do you mean a static interstitial, or a video interstitial? If you mean video interstitial, then they only work on Android devices 4.2 and up.

Please clarify, then we can take this further.

Thank you

Ok when you say " of course you need to", this is the first time I have had to load a new ad after each show before. I never did this using Chartboost so it’s not that obvious. It’s optional in CB for pre-caching and as far as know you can show right after its initiated without a load. Plus, last time i checked its a different ad with each show CB without using load. Perhaps it should be made clear in the docs.

Yes I do mean static interstitial. As I mentioned before I can play banner and videos fine apart from once frozen after a video on 4.1 OS. I’m pretty sure it’s either 4.3 or 4.4 as the minimum requirement for statics. Oddly,  I have more success with videos on 4.1 than static.

Sorry, it has been this way with all of our recent ad plugins (FAN, Applovin, Revmob, inMobi etc) so I figured it was common knowledge. No offense was intended.

We’ll look into improving our docs in this regard.

Interesting that you were able to play videos on 4.1, when they state it requires >4.1. 

I’ll look into the issue for you. I will post back when I have done some testing.

Thank you

No worries. I haven’t changed my setup for over a year because of this kind of hassle. Once something works, I dare not tweak it.
Showing statics isn’t impossible on 4.1 or 4.2 . Just might have to wait after 10-15 freezes for it to work.
I have other devices if you need me to do any tests

I hope you dont mind me adding another issue in this thread but i noticed that the back button seems to double click while showing a static ad. It should close the ad like the X button but instead,m closes the ad then closes/minimises the app as well as if its sent two “back” commands

Just found another potential problem. When using multiple ad services like Admob or Chartboost, if they are shown before Revmob then sometimes, the app crashes. This is even after the isLoaded check as that is coming up as true. Maybe because the app was put in suspend mode and its lost its session, even though I have startSession in app resume event. I have added a small delay to the Revmob startSession in app resume and that stopped the crash as it was then giving back an accurate isLoaded status. I then just added an extra load function after the startSession so all seems to work with that. Im only guessing what this issue is by pattern of events but maybe you can see how this might be happening. Maybe this is related to my original problem. 

EDIT: It crashed again. Basically cant seem to do ad service rotation using multiple services Admob, CB, then Revmob. Always it crashes on Revmob. Works fine is i do it alone on boot. Giving up on Revmob for a while. its not working for me

Always crashes with this. 

I/Corona  (24313): type :       interstitial

I/Corona  (24313):

I/Corona  (24313): type: interstitial

I/Corona  (24313): name :       adsRequest

I/Corona  (24313):

I/Corona  (24313): name: adsRequest

I/Corona  (24313): phase        :       displayed

I/Corona  (24313):

I/Corona  (24313): phase: displayed

I/Corona  (24313): provider     :       revmob

I/Corona  (24313):

I/Corona  (24313): provider: revmob

Hey Rob, thanks for the additional info.

If you have a crash report for the above post, that would be extremely helpful. 

Feel free to PM me it, or email me directly at danny[at]coronalabs.com

All the info I have is that what I posted I’m afraid… Everytime, never saying an error. Just freezes. That was nexus 7 android 5

No worries. You’ve given me something to work with at least.

Thanks again, i’ll post back when I’ve done some sleuthing. 

Guys,

I think there is a error in the docs (I’ve sent a notice).

  1. I found you need to load the first ad after ‘sessionStarted’, not ‘init’.

  2. This code (link below) will show you how to:

  • init

  • load ad on sessionStarted

  • show first ad that is loaded

  • autoLoad video after showing one

http://github.com/roaminggamer/RG_FreeStuff/raw/master/AskEd/2016/04/basicRevMob.zip

Note: Interstitials do not work for me so far, but I’ve only tested on Android and it could be an issue w/ my device or OS.

If you test the interstitial part of this sample and it works, let me know OK?

I’ll post back a little later with an update for the code I just posted.  Interstitial ads work fine, I simply need to make some code changes.  I’ll share my mistake a little later.

@all,

If you’re following this thread and if you downloaded my code, please download it again.  I have updated a flaw in the code.

http://github.com/roaminggamer/RG_FreeStuff/raw/master/AskEd/2016/04/basicRevMob.zip

My Mistake - Placement ID

I misunderstood the concept of the placement ID.  I read about this on the RevMob site and got the impression this was a tag that could be used to see if ad placements in specific areas of your app were better or worse.

That is, I thought ( incorrectly ) this was a free from field that could take value like: “splash”, “home”, “game over”, … etc.

In point of fact, placementIDs are actual RevMob ad ids.  i.e. You can use different IDs in different places to see which placement performs better.

Overall Findings

In the course of my testing, I’ve had great success consistently showing all ad types, with only one minor problem.  Interstitial ad will occasionally say they showed, but not display.  

I’m unclear on what is causing this.  If I figure it out, I will post back.

Thanks!

Ed

I’m glad I’m not the only one. What you said at the end confirms what I have. It says it shows but didn’t, that’s when it froze. I already used the ids correctly. In fact I never had any problems unless I was lucky until I used other ad sevrices which potentially screwed things over from suspending, that might be linked to your other finding of it not always starting session with init so I might try putting load on callback of startsession. But then you tried that already didn’t you. I too can do video and banner and not come across any problem apart from once a blank screen after a video.

I believe I have a fix for the issues you reported. Will have them pushed up early tomorrow morning (GMT+0)

Sorry for any inconvenience caused.

Hey Rob.

I’ve pushed an update which should hopefully resolve your issues.

This update will be available within 1>2 hours from the time of this post.

You just need to build your project again to get the changes.

Let me know how you get on.

Thanks again

Update: its (only on phone not tablet)working about 1 out of 10 times. So maybe the isLoaded is being true when its not or think its session is started when its not?

Only the rare moment its working, it can show an add many times but i have to load after each show. Even suspending and resuming it works.  

I tried loading a few times before i showed an ad and that didnt help so maybe its not initiating properly