Chartboost plugin released

I’ve released a Chartboost plugin for Corona. The plugin is available for the iOS and Android platforms.

The iOS version includes 32 and 64 bit support to comply with Apple’s 64-bit requirement which was enforced Feb 1, 2015.

For those of you who want to explore the plugin, the documentation can be found here:

https://github.com/swipeware/CoronaChartboostPlugin

IMPORTANT:

You MUST also create a Publishing Campaign in your Chartboost dashboard to see real ads.

SUPPORT ISSUES:

If you experience any issues with the plugin, please create a new topic for each issue instead of replying to this one. It will greatly help me keep track of the issues. I’m automatically notified of all new topics, so you don’t have to worry that your report will go unnoticed.

Hi ingemar,

Quick question: Is the plugin allow the ad to show in the simulator or do we need to build first?

Thanks.

Mo

Ads will show in the Xcode simulator, but not the Corona simulator.

Cool!

Mo

ps: Do you ever sleep? :slight_smile:

Thanks for this. Is there any timeframe on making this available to Basic users?

Ingemar thank you very much for this update. Your contribution is much appreciated. 

Is there any timeframe on making this available to Basic users?

They’ve acknowledged my request, but there’s no final decision from them yet.

Small suggestion - it seems that the listener doesn’t receive an event when chartboost.init() has successfully been called. It would be useful to know that it has finished initialising before we try to cache/show an advert, just in case there is a problem.

@alan

That’s because the native Chartboost SDK doesn’t send such an event upon initialization, and there is no true/false check to be made either. If the network isn’t properly initialized or there are network issues, you will get an event.response=“failed” when you try to cache an ad with event.info referring to the reason for the error. 

You can start caching immediately after calling init. Chartboost do not have any guidelines on having to wait before caching/showing ads. In my experience with using Chartboost I’ve never seen any issues with initialization.

See http://docs.coronalabs.com/daily/plugin/chartboost/init.html for a list of error codes.

Thank you, that’s good to know. Some other plugins I’ve used in the past have had issues if you call another function before init has had time to do its stuff, glad to hear that Chartboost catches the error for us  :slight_smile:

I’m finding that requesting video ads is really unstable (only tested on Android so far). Most of the time it works, but on a number of occasions I’ve had errors:

  • Event.response showed “willDisplay”, but nothing happened. My game just sat there, frozen. I left it for 5 minutes in case it was trying to cache and then play a video, but nothing happened.  
  • Another time I got the “didDisplay” phase, but the whole screen went blank and no video appeared. I couldn’t press “back” to dismiss it, so I had to kill the app.
  • Our game supports both portrait and landscape orientations. Usually I can rotate during an ad, but one time I rotated from landscape to portrait and the ad just vanished completely. Again, the game was frozen in the background so I had to kill it.

I’m not suggesting that these errors are due to your plugin ingemar, it could just as easily be the chartboost sdk itself since the video ads are quite new. Did you notice any problems like this when you were making the plugin?

Yes I have. The video ads do seem a bit unstable, which has prompted me to disable Chartboost video ads in my own apps for the time being. I use Vungle for my main video ad fill anyway, Chartboost was going to be my backup.

However my testing has been mainly on iOS. I have submitted a few issues regarding their video ads and some they have been able to reproduce, others not.

It would be interesting if you have any info in your logcat that could give some clues as to what might be happening.

It’s best not to filter on Corona entries as there might be some other things going on which might cause the problem. Hopefully there may be some answers hidden in the logs.

@alan

BTW. If you want you can send me a logcat output to ingemar at swipeware com

Ok, I’ve just disabled the videos in my app for the moment, and I’m currently juggling a few other things. I’ll send that to you when I have the chance, will probably be tomorrow though if that’s ok.

@Alan

I’ve been testing more on Android today and I’ve made some observations:

Android 4.0.4 (Galaxy Player 5.8) exhibits the issues you mention above with erratic behavior.

Android 4.4.4 (Nexus 7, 1st generation) is flawless. No erratic behavior whatsoever so far…

What device / OS version are you seeing problems on?

Is there any reason why Corona would not make this available to Basic users? Without this, I’m screwed as removing the IAF call means none of my Chartboost still will work…

Can someone from Coronalabs opine on this?

@carey
I’ve reiterated my request to let Basic users have access to my plugin. The response I got is very cryptic.
They say that they are preparing some sort of announcement in the near future that might affect this. What kind of announcement it is and how it affects my plugin, I have no idea, however that’s all the information I have.

I’m still pushing hard for Basic users to get access, but I’m hitting a brick wall at the moment.

Ingemar, You’ve been a great asset to the Corona community. And unless there is some material reason, corona should not leave us stranded like this, especially since you did the work. Carey

@ingemar sorry for the delay, I’m juggling lots of things at the moment. 

I’m using a Galaxy S4 on Android 4.4.2, I’ve also seen it happen on my Nexus 7 1st gen (not sure which android version since the battery has just run out of juice).

I’ve been testing something this morning and found another issue with interstitials. My code is setup like this:

if chartboost.hasCachedInterstitial( "cachedChartboost" ) then chartboost.show("interstitial", "cachedChartboost") end 

For the most part it works fine. However sometimes when hasCachedInterstitial is true, it calls an ad which fails to load correctly. My game will be frozen behind the semi-transparent black rect that chartboost ads appear above, but the ad itself never appears. I then can’t press the back button either to get back to my game, I have to hold the home button and kill the app.

When this happens the game is totally frozen creating a bad user experience. Have you seen anything similar happen? This is only tested on Android so far, so not sure if it happens on iOS or not.

Interesting. This is exactly what happens with Video Interstitials when I tested in on Android 4.0.x (but there it happens every time). When I contacted them about this they were aware of the issue.

iOS has been rock-solid in my testing and Video Interstitials have now also been fixed server-side and I haven’t seen any weirdness anymore.

I’ve never seen this for normal interstitials on Android though. It’s a bit worrying, and it makes me wonder how stable the SDK is on Android. It would still be interesting (if at all possible) to get a logcat dump from the device when this happens. There may be something hidden in the logs that could shed some light on the issue.

( It seems to be true what is said: Android developers spend much more time debugging than iOS developers :( )