Paid Plugins from Corona support: Chartboost, AdColony

Hi, I’ve been subscribed to Chartboost for a almost a year now.

and AdColony for two years.

In Chartboost, now I discovered that since 3 months, Charboost ads didn’t show correctly:

only the audio from the ads is heard and no image/video …

is this chartboost plugin supported ?

regarding adcolony, will it be updated to latest adcolony libraries, soon?

Hi MartingK;

We have had similar reports of audio only (no video) and sometimes the locking of our app entirely – so that app has to be exited. The reports come from Amazon Fire users, more often than not.

Is the paid Corona plugin for Chartboost using Chartboost’s latest libraries? Just wondering too.

Steve B

Hi Steve

Thanks for replying,

Yeah, I hear the rewarded video but see nothing. the game view is visible and stuck till the (invisible) ads ends,

same goes for interstitial. 

According to the logcat the plugins: plugin.chartboost: 2.0.9 (SDK: 7.3.0 - Sep. 28, 2018)

latest is 7.3.1 - Dec, 3, 2018

I have no idea whats the problem 

— Side Note, but important,  —

To Corona Devs,

Generally speaking, there is a fundamental issue with how Corona plugins get updated silently. For example I released the game a year ago an tested every corner of it (including all monetisation plugins) ,

six months later, I casually fix a minor typo in ui, rebuild and innocently release (doing short sanity checks , knowing that all code and libraries are in place)

but no … months later I realise that since the typo-fix release some monetisation plugin, got silently updated, (I have no control - or way to freeze plugin to a version I tested and that worked flawlessly) … and now for months it’s hurting me till discovered.

This scenario, keeps coming. I think, we developers should have control over what plugins version we are shipping, and be able to specify or freeze the version in the build.config, next to each plugin we can either write  a version “2.0.9” or “latest”.

This lack of control, gives me  second thoughts, I’ve been using paid plugins for almost two years, and every minor innocent release, brings a multitude of surprise because the lack of control of plugins. 

In native builds a developer have control and responsibility for whatever he ships, and can stick the advertizers SDK versions that worked for him, until he sees a good reason to update, then he, pro-actively updates SDKs and tests, a very natural and professional work flow.

with simulator build and paid plugins, it a surprise-egg !

I wish Rob reads this, give us control, give us peace of mind.


The Chartboost 7.3.1 fix includes a fix for crashes from recycling bitmaps. That sounds like it might be related. The Chartboost plugin was last updated on Oct 4. I’ll see what we can do with updating the plugin. This is on Android only, iOS is still 7.3.0.

As far as updates in general go, most people want to deal with the latest version of plugins and pressure us to keep things up today. If this bothers you, Corona native builds are free to use and you control the plugin library versions. You lose the convenience of simulator builds in exchange for the power and flexibility of native builds.

Rob

Thanks a lot Rob,

You can combine the control and flexibility by making simulator builds take latest plugin by default, unless in config file a plugin version is explicitly stated. like I said this guards us from the unexpected and sometimes really needless change which happen silently, without noticing.

That’s just a heads-up for a solution that brings the goods of the two worlds.

Thanks Rob.

Yes, the complaints we are receiving on this are all Android and many are Amazon Fire (maybe older Android OS versions? – just a supposition as we haven’t gathered any detailed data).

Anything you folks can do by updating the plugin would be greatly appreciated.

Steve

My app also suffers from “invisible Chartboost ads”, and I too would be very grateful if this issue could get some attention.

Hi colinmorgan;

Thanks for chiming in. I’d been meaning to return to this thread to say that I reported the problem to Chartboost a month or so ago and got a reply where the Chartboost support person simply said “we do not support”. Important pieces of my correspondence with Chartboost are below.

I’ll reiterate what colinmorgan said . . . any thoughts and attention from Corona would be GREATLY APPRECIATED!

Steve


Part of my report to Chartboost about Amazon Interstitials


The bad experience with Amazon Interstitials is this: we call for an Interstitial and all the listener tells us that it has 'displayed" successfully. The audio actually does play. But there is no visible video playing; nor any image whatsoever. In essence, a completely transparent, tappable layer has overlayed our game. Three specific ads that do this are:

A) One Clue Crossword – Audio Plays but no Image/Video. If I tap screen, ad takes me to their app store page.

B) Scatter Slots – Audio Plays but no Image/Video. If I tap screen, ad takes me to their app store page.

C) Seekers Notes: Hidden Mystery – Audio Plays but no Image/Video. If I tap screen, ad takes me to their app store page.

In contrast, this ad displays and operates just fine (as an example): Simon’s Cat Crunchtime

We are getting customer complaints about this misbehavior. Our players see this as a broken app. We have no idea how many users we have lost. We like you folks and don’t want to move away from Chartboost. Can you please help?


This is the Chartboost Support Team Reply


Hi Steve,

Thanks for writing in.
Unfortunately we do not support Corona and cannot help you further with your errors.

We do apologize for the inconvenience. We either suggest contacting Corona themselves, or integrating our standalone SDK which will provide much more functionality and control.

Please let me know if you have any other questions.

Have a wonderful day.

Hi Corona;

This is certainly less important than 64 Bit Android. But . . . .

Is anyone out there in corona-land using the present Chartboost Plugin (which does cost money) on Android or Amazon devices where the Interstitial and Rewarded Videos display reliably?  See the post that I made above on April 19 for a description of what we are still seeing – if and when we turn on Chartboost in our apps.

So . . . anyone paying for the Chartboost plugin and having reliability and success displaying their ads??

Thanks very much;

Steve

Hi, I’ve been subscribed to Chartboost for a almost a year now.

and AdColony for two years.

 

In Chartboost, now I discovered that since 3 months, Charboost ads didn’t show correctly:

only the audio from the ads is heard and no image/video …

 

is this chartboost plugin supported ?

I’ve also paid for the chartboost plugin but I am experiencing the same issue. Sounds but no visible ad or controls. 

Did anyone have any success with the chartboost plugin ?

The current Chartboost plugin is using Chartboost SDK 8.0.1 on iOS and 7.5 on Android. 8.0.3 is the latest iOS version and 7.5 is the latest Android version. The release notes for 8.0.3 fixes:

Improvements:

  • Improved compatibility with iOS 13.
  • Removed usage of UIWebView.
  • Removed support for Moat.
  • Added MAX and Fairbid to the list of predefined CBMediation values.

Notes:

  • This version does no longer support iOS 8.

So there may be some value to updating the plugin on iOS. Apparently iOS 13 bring’s a lot of fun to developers. UIWebView’s are being deprecated, but they should still be working.

So it would be really helpful if those of you experiencing problems could help us with more relevant information. 

  1. Is this happening on iOS, Android, or both?

  2. What version of Corona are you using that’s experiencing?

  3. Are you printing out the event table in your ad listener function() and are you capturing the data from the device so we can look for errors.

  4. What devices are you testing on (with OS versions)?

  5. Can you produce a very basic sample app that demonstrates the problem (.zip file with main.lua, build.settings, config.lua and any necessary assets) where hopefully we can just a) test against your API keys, and b) substitute our API keys and build, install and run on a device to see the problem happen? Use the Report a Bug link above.

We want these plugins (and Corona in general) to behave like you expect. This level of information will go a long way to help us solve these kinds of issues.

Rob

I can have Engineering update the iOS plugin and I can

FWIW, we just updated the iOS Chartboost plugin to 8.0.3. It should be available now, if not in a few minutes.

Rob

Rob, I’m building for Amazon with Corona version 2019.3462, Chartboost 7.50 on  Nexus 5X with android version 8.0. Everything is loaded and the app is making an attempt to show a rewarded video but get this:

11-17 08:33:39.062  3448  3607 I ActivityManager: Displayed com.yogergames.epic\_jigsaw/com.chartboost.sdk.CBImpressionActivity: +734ms 11-17 08:33:39.114  1835  1835 D bf      : Chartboost Webview:Uncaught ReferenceError: Chartboost is not defined -- From line 1 of file:///data/user/0/com.yogergames.epic\_jigsaw/cache/.chartboost/ 11-17 08:33:39.356  1835  1835 D bf      : Chartboost Webview:mraid.addEventListener ready,function(){h()} -- From line 173 of file:///data/user/0/com.yogergames.epic\_jigsaw/cache/.chartboost/ 11-17 08:33:39.609  1835  1835 D bf      : Chartboost Webview:mraid.fireStateChangeEvent default -- From line 173 of file:///data/user/0/com.yogergames.epic\_jigsaw/cache/.chartboost/ 11-17 08:33:39.612  1835  1835 D bf      : Chartboost Webview:mraid.triggerEventListeners [object Arguments] -- From line 173 of file:///data/user/0/com.yogergames.epic\_jigsaw/cache/.chartboost/ 11-17 08:33:39.613  1835  1835 D bf      : Chartboost Webview:No listeners found -- From line 173 of file:///data/user/0/com.yogergames.epic\_jigsaw/cache/.chartboost/ 11-17 08:33:39.615  1835  1835 D bf      : Chartboost Webview:mraid.fireReadyEvent -- From line 173 of file:///data/user/0/com.yogergames.epic\_jigsaw/cache/.chartboost/ 11-17 08:33:39.617  1835  1835 D bf      : Chartboost Webview:mraid.triggerEventListeners [object Arguments] -- From line 173 of file:///data/user/0/com.yogergames.epic\_jigsaw/cache/.chartboost/ 11-17 08:33:39.620  1835  1835 D bf      : Chartboost Webview:Calling event listeners for ready -- From line 173 of file:///data/user/0/com.yogergames.epic\_jigsaw/cache/.chartboost/ 11-17 08:33:39.651  1835  1835 D bf      : Chartboost Webview:mraid.fireViewableChangeEvent true -- From line 173 of file:///data/user/0/com.yogergames.epic\_jigsaw/cache/.chartboost/ 11-17 08:33:39.651  1835  1835 D bf      : Chartboost Webview:mraid.triggerEventListeners [object Arguments] -- From line 173 of file:///data/user/0/com.yogergames.epic\_jigsaw/cache/.chartboost/ 11-17 08:33:39.652  1835  1835 D bf      : Chartboost Webview:No listeners found -- From line 173 of file:///data/user/0/com.yogergames.epic\_jigsaw/cache/.chartboost/ 11-17 08:33:39.723  1835  1835 D bf      : Chartboost Webview:Chartboost.Utils.show -- From line 173 of file:///data/user/0/com.yogergames.epic\_jigsaw/cache/.chartboost/ 11-17 08:33:39.741  1835  1835 D CBWebChromeClient: JavaScript to native show callback triggered. 11-17 08:33:39.754  1835  1835 D bf      : Chartboost Webview:Chartboost.Utils.tracking imptrackers -- From line 173 of file:///data/user/0/com.yogergames.epic\_jigsaw/cache/.chartboost/ 11-17 08:33:39.756  1835  1835 D CBWebChromeClient: JavaScript to native tracking callback triggered. 11-17 08:33:39.757  1835  1835 D com.chartboost.sdk.impl.bg: JS-\>Native Track VAST event message: imptrackers 11-17 08:33:39.768  1835  1835 D bf      : Chartboost Webview:Chartboost.Utils.callNative videoPlaying undefined -- From line 173 of file:///data/user/0/com.yogergames.epic\_jigsaw/cache/.chartboost/ 11-17 08:33:39.768  1835  1835 D CBWebChromeClient: JavaScript to native videoPlaying callback triggered. 11-17 08:33:39.771  1835  1835 D bf      : Chartboost Webview:Chartboost.Utils.callNative totalVideoDuration [object Object] -- From line 173 of file:///data/user/0/com.yogergames.epic\_jigsaw/cache/.chartboost/ 11-17 08:33:39.772  1835  1835 D CBWebChromeClient: JavaScript to native totalVideoDuration callback triggered. 11-17 08:33:39.775  1835  1835 D bf      : Chartboost Webview:Chartboost.Utils.callNative currentVideoDuration [object Object] -- From line 173 of file:///data/user/0/com.yogergames.epic\_jigsaw/cache/.chartboost/ 11-17 08:33:39.776  1835  1835 D CBWebChromeClient: JavaScript to native currentVideoDuration callback triggered. 11-17 08:33:39.780  1835  1835 D bf      : Chartboost Webview:Chartboost.Utils.show -- From line 173 of file:///data/user/0/com.yogergames.epic\_jigsaw/cache/.chartboost/ 11-17 08:33:39.780  1835  1835 D CBWebChromeClient: JavaScript to native show callback triggered. 11-17 08:33:39.795  1835  1835 D bf      : Chartboost Webview:hasRecordedImpression true -- From line 173 of file:///data/user/0/com.yogergames.epic\_jigsaw/cache/.chartboost/ 11-17 08:33:40.205  1595  1752 I Metrics:BatchTransmitte: QueuePusher.sendBatches - Drained batch queue.; Number of HIGH\_ANONYMOUS queue batches sent: 0 11-17 08:33:40.205  1595  1753 I Metrics:BatchTransmitte: QueuePusher.sendBatches - Drained batch queue.; Number of HIGH\_NON\_ANONYMOUS queue batches sent: 0 11-17 08:33:40.403  1835  2041 W VideoCapabilities: Unrecognized profile 2130706433 for video/avc 11-17 08:33:40.448  1835  2041 I VideoCapabilities: Unsupported profile 4 for video/mp4v-es 11-17 08:33:40.495  1835  1925 D         : PlayerBase::PlayerBase() 11-17 08:33:40.495  1835  1925 D         : TrackPlayerBase::TrackPlayerBase()

As far as I could tell from this thread, there is no evidence that Chartboost runs fine anywhere. 

I’ll create a sample project and file a bug report. 

Have you tried the latest daily build? We’ve made some changes to webViews on Android. I don’t know that it will solve this issue, but it might be worth trying.

Rob

As far as I understood the latest version did not play well with Amazon ?

While building a simple project to reproduce the issue it worked which was a bit unexpected. After A LOT of digging around in my code I realize it is related to using

audio.reserveChannels(2)

When using audio.reserveChannels the rewarded video is broken, removing that line only makes it work. It was also not working when ssk2 was imported and initialized. SSK2 does not use reserveChannels, instead it uses 

audio.findFreeChannel

So I guess that could be a problem as well. 

Thanks for the bug submission and I’ve confirmed it on my Google Nexus 9 / Android 7 and I’ve alerted Engineering.

Rob

Hi Rob;

I read the recent posts over the weekend and I was SO EXCITED today to try making an Amazon build of one of our word games to see how and whether Chartboost would display ads properly now.

But I ran into a very fundamental problem with the Corona Builds (I tried builds 3528, 3549, 3551) that make the 64 bit APKs for Google. The problem with the APKs built by these versions is this:

– If I add any SINGLE one of several advertising plugins in build.settings . . . and then I make a build and install it on my Amazon device . . . the app, upon launch, immediately displays a developer message from Corona that “Jumble Crossword does not target the Google Play Store, but includes Google Play Services.”

– If I then remove that one advertising plugin (i.e. Chartboost) and build it again, the app opens fine.

screenshot_deverror.png

This is the difference in the initial logged messages from my Kindle Fire device as the app opens:

NO PROBLEM WITH JUST AMAZON STORE AND NOTIFICATIONS PLUGINS: =================================

11-18 15:18:20.302 25884 25902 V Corona  : > Class.forName: network.LuaLoader

11-18 15:18:20.302 25884 25902 V Corona  : < Class.forName: network.LuaLoader

11-18 15:18:20.303 25884 25902 V Corona  : Loading via reflection: network.LuaLoader

11-18 15:18:20.311 25884 25902 I Corona  : Platform: KFKAWI / ARM Neon / 7.1.2 / Mali-T720 / OpenGL ES 3.1 v1.r12p1-01alp0.62f282720426ab7712f1c6b996a6dc82 / 2019.3551 / English | US | en_US | en

11-18 15:18:20.373 25884 25902 V Corona  : > Class.forName: shared.google.play.services.base.LuaLoader

11-18 15:18:20.380 25884 25902 V Corona  : > Class.forName: _CoronaSetup.LuaLoader

PROBLEM -  IF I ADD AN ADVERTISING PLUGIN TO THE OTHER TWO: =====================================

11-18 15:09:33.435 25304 25388 V Corona  : > Class.forName: network.LuaLoader

11-18 15:09:33.435 25304 25388 V Corona  : < Class.forName: network.LuaLoader

11-18 15:09:33.435 25304 25388 V Corona  : Loading via reflection: network.LuaLoader

11-18 15:09:33.438 25304 25388 I Corona  : Platform: KFKAWI / ARM Neon / 7.1.2 / Mali-T720 / OpenGL ES 3.1 v1.r12p1-01alp0.62f282720426ab7712f1c6b996a6dc82 / 2019.3551 / English | US | en_US | en

11-18 15:09:33.475 25304 25388 V Corona  : > Class.forName: shared.google.play.services.base.LuaLoader

11-18 15:09:33.475 25304 25388 V Corona  : < Class.forName: shared.google.play.services.base.LuaLoader

11-18 15:09:33.475 25304 25388 V Corona  : Loading via reflection: shared.google.play.services.base.LuaLoader

11-18 15:09:33.480 25304 25388 V Corona  : > Class.forName: _CoronaSetup.LuaLoader

You can see that there are a couple of extra lines in the PROBLEM log. I’m guessing the problem grows out of the “Loading via reflection: shared.google.play.services.base.LuaLoader” line.

I cannot add Chartboost, adColony, AppLovin without triggering this. And there might be a couple of others that trigger this too. I got tired of building test versions to narrow down this problem after a couple of hours.

If you want a test case to duplicate the problem . . . simply swap in and out these plugin sections:

APP RUNS FINE WITH THESE TWO PLUGINS

================================

APP RUNS FINE WITH THESE TWO PLUGINS ================================ plugins = { ["plugin.notifications"] = { publisherId = "com.coronalabs", supportedPlatforms = { ["android-kindle"] = true } }, ["plugin.amazon.iap"] = { publisherId = "com.coronalabs", supportedPlatforms = { ["android-kindle"] = true } }, },

ON APP LAUNCH, GIVES ME THE GOOGLE PLAY ALERT WITH THESE THREE ============================================================== plugins = { ["plugin.chartboost"] = { publisherId = "com.coronalabs", supportedPlatforms = { ["android-kindle"] = true } }, ["plugin.notifications"] = { publisherId = "com.coronalabs", supportedPlatforms = { ["android-kindle"] = true } }, ["plugin.amazon.iap"] = { publisherId = "com.coronalabs", supportedPlatforms = { ["android-kindle"] = true } }, },

As an aside, this app builds just fine and makes an APK without any problems with last April’s Corona 3476. But building with that version just won’t help me test and confirm that Chartboost is fixed.

Thanks for early attention to this.

Steve

If you’re going to target Amazon, you probably should be using a build before 2019.3490. Amazon is still 32-bit and I don’t know when we will get 64-bit builds working for Amazon.

Rob