Chartboost Plugin released!

The thing is the old chartboostSDK that ran in Corona (which I currently use on Android)  worked fine, even in the simulator.  While this one I have no clue what’s going on and keeps failing.

It had a lot of reporting going on 

local delegate = {
        shouldRequestInterstitial = function(location) print("Chartboost: shouldRequestInterstitial " … location … “?”); return true end,
        shouldDisplayInterstitial = function(location) print("Chartboost: shouldDisplayInterstitial " … location … “?”); return true end,
        didCacheInterstitial = function(location) print("Chartboost: didCacheInterstitial " … location); return end,
        didFailToLoadInterstitial = function(location, error) print(“Chartboost: didFailToLoadInterstitial " … location)
                        if error then print(”    Error: " … error) end end,
        didDismissInterstitial = function(location) print("Chartboost: didDismissInterstitial " … location); return end,
        didCloseInterstitial = function(location) print("Chartboost: didCloseInterstitial " … location); return end,
        didClickInterstitial = function(location) print("Chartboost: didClickInterstitial " … location); return end,
        didShowInterstitial = function(location) print(“Chartboost: didShowInterstitial " … location); return end,
        shouldDisplayLoadingViewForMoreApps = function() return true end,
        shouldRequestMoreApps = function() print(“Chartboost: shouldRequestMoreApps”); return true end,
        shouldDisplayMoreApps = function() print(“Chartboost: shouldDisplayMoreApps”); return true end,
        didCacheMoreApps = function(error) print(“Chartboost: didCacheMoreApps”)
                        if error then print(”    Error: " … error) end end,
        didFailToLoadMoreApps = function(error) print("Chartboost: didFailToLoadMoreApps: " … error); return end,
        didDismissMoreApps = function() print(“Chartboost: didDismissMoreApps”); return end,
        didCloseMoreApps = function() print(“Chartboost: didCloseMoreApps”); return end,
        didClickMoreApps = function() print(“Chartboost: didClickMoreApps”); return end,
        didShowMoreApps = function() print(“Chartboost: didShowMoreApps”); return end,
        shouldRequestInterstitialsInFirstSession = function() return true end,
        didFailToLoadUrl = function(url, error) print(“Chartboost:didFailToLoadUrl: " … tostring(url))
                        if error then print(”    Error: " … error) end end
    }

These are using two separate systems. The old one is using their rest api I assume, and our one us using their native iOS sdk.

We will be working on this during the weekend also, so we will update this thread when we push a new version out.

Thanks

I have put

chartboost.cache() 

chartboost.show()

and I submitted the app.

What happens if I place charboost.cache() before charboost.show().?

You shouldn’t call chartboost.show() immediately after the chartboost.cache() call. If you do, you don’t give a chance for the listener to be called and you have no idea if an ad has been cached or not. You have to wait a while before calling show().

As a rule you’d call chartboost.cache() at the start/resume of the app, and when you reach a point in your code where you want to display an ad, you check if an ad is cached and only then call show() if there is one available.

Update :

Ok, we have found two issues in our plugin which we believe were preventing the ads from showing (especially cached ads). We have pushed up the fix, and it should be available for you all to use within about two hours or less from the time of posting this message.

We have tested the fix and we always received ads as expected, so that is good news.

To ensure that you have the latest version of the plugin, and so we can ensure that everyone has got the latest version of the plugin, we have added a new function, named getPluginVersion. We will document this in due course, but for now, please see the below code snippet to learn how to use it.

local chartboost = require( "plugin.chartboost" );   -- Get the chartboost plugin version (this is the gremlin interactive plugin version, not the chartboost sdk verison chartboost.getPluginVersion() --[[Should return 1.1 for our latest version of the plugin. If this function fails, then the plugin hasn't been updated on Corona's servers yet. --]]

Also please note, from the Chartboost portal:

Note: Test mode automatically deactivates after 20 impressions

So if your not seeing ads after a while (after testing the latest version of the plugin, of course) it’s more than likely that test mode has been disabled automatically on the Chartboost dashboard, and that live ads are either not configured correctly for a live campaign or other.

We would recommend ensuring that test mode is enabled on the Chartboost dashboard, and you ensure that after setting test mode to enabled, you click ‘done’ and go back to the page and ensure that it is set to enabled. Just to ensure that we can all test under the same circumstances to check whether this issue is resolved for everyone.

So give it about two hours from the time of posting this message, rebuild your apps, and let us know if you experience any further issues.

Thanks!

Thanks for taking the time to leave a detailed reply.  Looks like I’ll just have to try it and do some logging with analytics.  I guess I got spoiled by admob, showing ads all the time. :slight_smile:

I implemented changes suggested by ingemar.  Interstitials are showing up fine now, but I’m still having problems with more apps

I can select my own apps, but “Autofill with network advertising” is not working.

Any caching attempts result an error message in the logs

“Could not successfully update network info during initialization”

Immediately followed by a failed load event

phase=load

type=moreApps

name=chartboost

result=failed

Had similar issues, I made sure I created a campaign for more apps and added the ‘Campaign’ to the app Publisher MoreApps Settings (where you auto fill) under ‘Included Apps and Campaigns’

It’s not very intuitive, but it’s working now, I also was able to select which app genres and apps to block (like candy crush, casino, ect… that aren’t geared to my audience) 

@shielded

I believe @Ernest is correct regarding the Autofill issue.

About caching:

Are you by any chance caching interstitials and moreApps in very close succession? I recall having an issue where if I tried caching the two too close to together I’d get caching issues. Now I wait for 2 seconds between the cache() calls and I haven’t had any issues after that.

Hey guys sorry for the late reply.

Just wanted to weigh in on a few things. 

  1. Naturally we have no control over how Chartboost’s dashboard works, or if you have done all of the required steps to get your app properly set up on the Chartboost dashboard. This is a requirement to get your ads and such showing properly.

  2. This is speculation, but I believe the more apps option of “fill from networK” will no longer work, as Apple has made it clear that they will not allow apps to promote other companies/peoples apps within your own. It probably should still work for android though, but we haven’t released the Android version just yet.

  3. The Android version will be released next week, for definite. Barring no acts of god. It’s more or less there, just needs more testing and some spit and polish :wink:

  4. When the Android version launches, the new functions of hasCachedInterstital() and hasCachedMoreApps() will be available, meaning you can ensure that an ad is cached before attempting to show it, without having to rely on the callback, if you so wish.

Thanks

Please read the documentation here: http://gremlininteractive.com/corona-plugins-documentation/chartboost_plugin_corona_docs/

That is not the correct usage. You should ensure that the Ad is cached (via the callback event), and after set a boolean flag, before attempting to show the Ad. In the next release you will be able to call helper functions to check for an Ads cached availability. 

“Caching” (in this context) means that it must first download the Ad (image(s)) along with it’s relevant metadata, in order to become “cached”.

Naturally it can’t always do this instantaneously (depends on network connection speed) so putting the cache() and show() calls right next to either other is pointless, as it won’t give you the results you are after (because the ad won’t be cached, so the call to show() will have to download the Ad+data again, in theory, making the Ad take even longer to show).

You have to wait for the Ad to “cache” before trying to show it.

Great I can’t wait to use it on my Android game!  :slight_smile:

Has anyone tried this since our latest update (which is live now)?

Yes I did just an hour ago, was working for the short while I tested :slight_smile: cache events were returning events, but didn’t stress test it (cut the internet off the device mid way through the app and then later turn it on again)

Unfortunately though the admob v2 plugin isn’t building this morning so yet another hurdle before I can re-submit my app

Great, glad to hear it. If your submitting an app with the Chartboost plugin enabled, be sure to disable testMode in your init call :wink:

Thanks

Hi, I just implemented your plugin and I am having a few problems:

  1. When I install my app and open it the first time, the ads do not show. I need to actually quit my app after it is installed (by double pressing home button and swiping app up), and then when I open restart it, the ads show correctly. Obviously, if this is the case in a live app, it’s no good because the first time it’s opened, no ads are showing.

  2. My iPhone5 shows the iPhone4 version of the ad (i.e… there are spaces at each side not covered by my chart boost frame artwork)

Thanks

@GreminInteractive
I’m going to start testing this today or tomorrow.
I’d appreciate if could you send me the new Enterprise plugins to my email address. :slight_smile:

Seems like there are still a few issues. Hopefully you guys can iron them out soon. I plan on integrating CB in a week or so.

We just pushed another update (v1.2) which now uses the latest version of the chartboost sdk (v4.4) and also should address the issue a user reported where it was only showing ads in the second session.

Thanks.

More updates to come, @ingemar will send you a mail asap.

I just confirmed on a real device that v1.2 of the plugin works well, and even includes callbacks to detect if an ad was displayed and if an ad was clicked. Bravo!