Chartboost Plugin released!

It would’ve been nice for you to specify that to us beforehand. I bought the plugin and I have an app that released today with it installed.

Does this mean I’m not getting credit for my ads on Application Resume because I only included chartboost.startSession() without the app-id and app-sig?

Obviously, I am not happy to hear this.

@ChunkyApps

I think it depends on which version of the plugin you’re using.

If you use the first version, I believe that you’re OK. However if you use version 1.2a you should use the new syntax.

Not sure how this affects tracking, but you should’ve gotten error messages in your log while testing if you omitted those parameters to startSession().

We apologize from the bottom of our hearts. As Ingemar has said, during your testing you should have seen errors from the startSession() function if the appId and appSignature parameters were omitted).

We have updated our documentation to add a reference to the startSession() function here: http://gremlininteractive.com/corona-plugins-documentation/chartboost_plugin_corona_docs/

Naturally we realize that this doesn’t help you in the short term. Please contact us via email and we can do something for you to compensate for the inconvenience.

Thanks

Note (To all): We will also be updating our documentation to explain the events a bit better (they are now documented at least, that was an omission), and are also starting on the Android version next week. Our eta (provided no acts of god, illness etc) is to release at the end of next week.

 …and are also starting on the Android version next week.

Yay!  :wink:

I got around to fixing all my issues and released my app with this plugin in it, I would still like a .isCachedAdAvailable or have show return a bool or have a callback or something.  I want users to trigger ads if they hit continue and to be able to respond if they don’t.  Otherwise I have to have users hit continue twice. I don’t like ads that popup at random, I prefer to have them triggered by actions as it’s a better user experience. With hundreds of players daily I can’t afford to have a bad ad experience.

I never implemented the  chartboost.startSession( yourAppID, yourAppSignature ); on resume events, but continued to get ads (although I’m not sure if I’m being credited)   The online docs show chartboost.cache( appId, appSignature ) as an example, I guess there’s a mistake there. I will add it to see if anything changes

It’s important to keep caching ads if you fail, (if you go to airplane mode and come back for example)  but the whole thing is now working from what I can tell

Here is how I worked around it, I really shouldn’t have had to do this if I had some indication of wether ads were available or not

local function chartboostListener( event )       print("CHARTBOOST EVENT")        -- Print the events key/pair values        for k,v in pairs( event ) do            print( "CB  " .. k ..  " : " ..  v )        end        if event.name == "license" and event.status == "valid" then           if(chartboostPlugin.getPluginVersion) then             chartboostPlugin.cache()             UIAds.chartBoostLive = true             print("CHARTBOOST LIVE version " .. tostring(chartboostPlugin.getPluginVersion()) )           end        end        if(event.type == "interstitial" and UIAds.interstialFailCallback ~= nil  ) then                    if(UIAds.chartBoostPluginFailTimer and (event.phase == "cached" or event.phase == "willDisplay") ) then             print("CB showed the ad, Cancel interstial timer")             timer.cancel(UIAds.chartBoostPluginFailTimer)             UIAds.chartBoostPluginFailTimer = nil           end                     if(event.phase =="failed" or event.phase == "closed") then              print("callback fail or closed")                          if(UIAds.chartBoostPluginFailTimer  ) then               print("CB failed, Cancel interstial timer")               timer.cancel(UIAds.chartBoostPluginFailTimer)               UIAds.chartBoostPluginFailTimer = nil             end                       UIAds.interstialFailCallback()             UIAds.interstialFailCallback = nil             if(event.phase == "closed") then               lastInterstitialWas = "chartboost"             end           end        end    end local function showChartBoostInterstitial(callbackToContinueAfterAd) if( chartboostPlugin and UIAds.chartBoostLive == true) then       print("CHARTBOOST SHOW ATTEMPT")       UIAds.interstialFailCallback = callbackToContinueAfterAd       -- timer to continue game because we did not show an ad       UIAds.chartBoostPluginFailTimer = timer.performWithDelay(900,function()         print("trigger CB fail timer")         if(UIAds.interstialFailCallback) then           print("call CB fail")           if(chartboostPlugin) then            chartboostPlugin.cache()           end           UIAds.interstialFailCallback()           UIAds.interstialFailCallback = nil         end       end)             chartboostPlugin.show( 'interstitial' )             return true     end return false end

Before you make the Android version please add something to indicate there is no  cached ad available, if it hasn’t already been added

It’s already possible to determine if an ad is cached.

After you call cache() you’ll get a callback with the following properties when an ad is successfully cached:

event.name = “chartboost”

event.type = “interstitial”

event.phase = “cached”

If you don’t get this callback you don’t have a cached ad.

Are you sure this event is only triggered on a successfully cached ad? If so I wasn’t aware and will make life a lot easier, thanks.

Hopefully cached ads stay intact after a suspend/resume. Will give it a shot

I’m sure. That’s the behavior I’ve seen on my devices.

As a safeguard I reset my cache-logic and call cache() after a suspend/resume also because you never know for how long the app has been suspended (it could’ve been days).

I sent you an email. Thank you very much.

I have place this code

level1.lua

[lua]

local chartboost = require( “plugin.chartboost” );

if chartboost.hasCachedInterstitial() then

    chartboost.show(“interstitial”)

local myText = display.newText( “cache”, math.random(20,100), math.random(200,300), native.systemFont, 16 )

          myText:setFillColor( 1, 0, 0 )

else

local myText1 = display.newText( “nocache”, math.random(20,100), math.random(200,300), native.systemFont, 16 )

          myText1:setFillColor( 1, 0, 0 )

     --group:insert( myText1 )

chartboost.init(

{

licenseKey = “jjjjjjjjjjjjjjjjjjjjjjj”,

testMode = true,

appID = yourAppID,

appSignature = yourAppSignature, 

listener = chartBoostListener ,

}

      );

    end

[/lua]

I see the test interstitial  in the device , but  What happened if the add is not cached, it calls again?

I put the init code in the main.lua .

I don’t know if the code when the add is not cached is right.

Hi guys,

I too is receiving the “failed” message when show an interstial (ios) I think I have the correct setting since it use to work few days when I was working on it. I since then send the app to apple for approval but I found that I left “testMode = true”!!! So as Gremlin suggested, I decide to reject my binary and change the testMode = false. Unfortunately I cannot get the ads to show to make sure everything is ok (it used to be ok)

Next I decided that maybe I need to add a test device so I can see “fake” ads all the time. I did add my iphone 5 as a test device but I used the link on step 2 above to add my test device so I am kind of confused on to really add a test device and make the test ads shows up all the time. I do not understand the “via csv file”  step? I look at the inclusion section and all I can see is that I can set device type like ipad, iphone… I try the search function to look for my “iphone5” device and of course nothing show up for that.

I guess I would love for someone to explain how to really add test device to Chartboost. I look at Chartboost  help and did not really help ;(

Thank you for any suggestions!

Mo

ps. The “test mode” on Chatboost goes back to live every time i set it up to “test” My guess is because i got more than 20 ads so far.

pps: The funny part is am also using the Chartboost plugin on the same app but for Android, and on that device the ads (fullscreen/more) shows up fine. Actually too “fine” since each time I close the fullscreen ad, another one shows up, and when I close that one, another one shows up :)??? I did not need to add my Nexus 7 to the test list or anything like that…

Got It! Sorry very stupid mistake (wrong UUID) All I had to do is to correct that and start getting ads. I am not sure they are test ads since they seems to be different each time and they do not say anything about being test ads. But still, I am happy since I can see the app is getting ads.

I rejected the binary (because of the tesMode = true issue) and uploaded the new version. This is the first time I upload a game with this Chartboost plugin so I can wait to see the app in the store! (another week to wait)

Thanks, I will let you know.

Mo

Firstly the Chartboost plugin behaves correctly for me with both iOS and Android. I just tested now to make sure.

Ads show up, and only one ad is shown. No repeating ads after closing.

Secondly it’s important that you register the IFA and not the UDID of your iOS device. You can use apps like the following to find your device identifiers:

https://itunes.apple.com/us/app/the-identifiers/id564618183?l=en&mt=8

To register a test device:

  1. Log in to Chartboost

  2. Hover over the round icon that looks like a person’s silhouette, select Company Info

  3. Select the “Test devices” tab

  4. Add your devices

One thing though. Even after registering a test device I see no difference in behavior. However, I suspect that Chartboost ignore clicks for devices registered in the list.

Sorry, my bad… You said UUID, I read UDID… I guess that the UUID should work :slight_smile:

I use the IFA when I register though…

Thanks so much ingemar!! Yes I cannot see any difference either on the look of the ads so i am sure you are right (ie: they may just not count clicks from test devices)

For the issue on my android version, I am sure it is me! I need to work on that. I am just happy I was able to finally send my app to Apple :slight_smile:

THANKS!

Mo

ps: I finally found the help about the device list that was talked about earlier. Here the link for anybody interested (but not sure why I i will need to use that  device list…) 

https://answers.chartboost.com/hc/en-us/articles/201219985#device

That device list is different than the Test Device list.

The list you reference is meant for advanced targeting. Something I think only a few developers use.

Got it!

Thank you.

Mo

Right guys, I’m going to close this thread now, as it’s original purpose was not intended to answer people’s Chartboost integration questions :wink:

If anyone has a problem or question pertaining to Chartboost, please post your own new thread in this forum section. Will be much easier for us to see new questions and replies this way.

Thanks!

I would like to use the Charboos plugin for android.

When will Charboost plugin be available?

We are working on it, this week hopefully. Last week got away from me.

Thanks