How to use the Vungle listener? Does it work?

Ya I agree, we can’t really stop piracy. And I like the “free advertising” part of it…

Sagar

@ingemar @MO

I’d integrated charboost and tapfortap in my app, however, there seems to be problem loading chartboost ads and their support isn’t helpful. I’ll now add admob+vungle+tapfortap, but not sure about the ad rotation. Could you share a few tips or the code logic to do this? I plan to launch my app in two days time and don’t want to delay release date trying to figure out this code. Would really appreciate your help.

I don’t use tap-to-tap or admob.

However I’ve integrated Chartboost/Revmob/Vungle in one app successfully. What about Chartboost did you have a problem with?

Its been over 2 days that I get this failedToLoadInterstitials and failedToLoadMoreApps error

Do I need to set the READ_PHONE_STATE enabled for vungle or admob  on android? I read this on another post, but charboost needs that disabled, how do you deal with this?

If you want Chartboost then READ_PHONE_STATE *must* be removed as per their instructions.

Vungle doesn’t need it. RevMob *claim* they need it, however during my testing it looks like it’s working without it.

can give a pointer on how to switch between ads?

I’ve been able to integrate Chartboost (and get ads) for all stores Apple, Google Play and Amazon.

I can’t really post any code since it wouldn’t make much sense to anybody else. It’s highly modularised with dependencies all over the place…

I switch between the different ad-platforms by using the delegates for each ad-platform to determine the success/failure of each request. Each ad platform have their own delegates that are explained in their respective documentation and sample apps.

I have two strategies for my ads

  1. App startup ads

During app startup I use Chartboost. If no Charboost ads are found I show a RevMob fullscreen ad. I control this by using the Chartboost delegates.

  1. In-between game ads

Apple/GooglePlay: Here I show a Vungle ad first. If no vungle ads are available I try to show a Chartboost ad, and if that fails it drops down to a Revmob Popup.

Amazon: Since Vungle isn’t available for this platform I just try Chartboost first and then a RevMob Popup.

Thank you for your help. And sorry for asking too many questions.

No problem! No need to apologize… asking questions is the way we learn. If you run in to any specific problems please feel free to ask more :slight_smile:

I am doing pretty much what Ingemar is doing. Same here, the code is all over the place but here a quick look at my code:

[lua]

– Listener for Vungle

function VungleListener( event )

         

if event.type == “adStart” and event.isError then

native.setActivityIndicator(true)

chartboost_show_ad()

end

end

– If Vungle fail then I call Chartboost and here (part of ) of the listener for Chartboost calling Revmob

didFailToLoadInterstitial = function(location)print("Chartboost: didFailToLoadInterstitial " … location); native.setActivityIndicator(false);showRevmob();  return end,…

[/lua]

If Revmob fail then I simply turn off the native activity indicator (you notice I start the indicator at the same time I call an ad network so to mask the IU during the wait to get the ad) and call it a day. Later I may show my own made app after I get two apps in the store…

I do show Revmob at app startup/resume. And use the strategy above only for end of gameplay.

Not sure if people are using the code as above but if you need to release an app in two days and it is for IOS, I will strongly suggest to take time to test all this stuff and simply release one ad network for now. If it is for Android, then you can of course fix basically on the fly since you do not need Apple approval.

Hope this help.

Mo

@ingemar thank you so much.

@Mo that’s what I was looking for. Infact, I was wondering if I could implement the code in a similar fashion and I saw your reply. Also chartboost support has offered a solution. So now m good with Vungle+chartboost+tapfortap.

Thanks a lot you guys are amazing.

Awesome! Let us know how it worked out. Since I planning on releasing an update to my Space Command using Vungle/Chartboost/Revmob on IOS, I will need more time to test that they all work nicely with each other. Of course because it takes so long for Apple review…

Good luck on your app with all those goodies ad networks :slight_smile:

Mo

Mo,

You can use CoronaProvider.ads.vungle.isAdAvailable() to check if an ad is cached, its way better then calling chartboost in case of vungle ad failure. Vungle tries to load the ad if it fails the first time. You can use the above function to check if there’s any ad to show and then show vungle else show chartboost.

THANKS! I will try CoronaProvider.ads.vungle.isAdAvailable() then as

if CoronaProvider.ads.vungle.isAdAvailable() ~= true then showChartboost()  end

I appreciate the tip. The main issue is that since my app is still in testing mode, Vungle is et to test mode too so I rarely miss a video so it is hard to test failure (so it switch to Chartboost) I guess a week before release, I will ask Vungle to switch to “live” so I can really switch real life conditions.

Thanks again,

Mo

@Mo

You can switch to Live yourself (just click the ‘Active’ button in the dashboard), however once you do you can’t switch back to Testing mode…

This one worked once now throwing an error, i don’t know whats wrong here. http://docs.coronalabs.com/daily/plugin/vungle/index.html

I’ll just try to figure out and let you know.

@ingemar Is there anything m missing out http://docs.coronalabs.com/daily/plugin/vungle/isAdAvailable.html

This is what m doing

function M.show\_vungle\_ad() if M.ads.isAdAvailable() then M.ads.show( "interstitial", { isBackButtonEnabled = true } ) else M.chartboost\_show\_ad() end end function M.functionAdListener() if event.type == "adStart" and event.isError then print("Vungle Error: ",isError) end end function M.chartboost\_show\_more\_ad() if M.cb.hasCachedMoreApps() then local msg = "Chartboost: Loading More Apps From Cache" end print(msg) M.cb.showMoreApps() return true end function M.chartboost\_show\_ad() if M.cb.hasCachedInterstitial() then local msg = "Chartboost: Loading Interstitial From Cache" print(msg) M.cb.showInterstitial() else M.tapfortap.showInterstitial() end return true end

btw I’ve put them all in a separate lua file just to avoid globals.

@Ingemar: That’s true! I will do that and avoid clicking on ad :slight_smile:

@Sagarpawaskar: THANKS! That’s a great piece of code! I see what you are doing. You have something like a table M and return M. Then in any module you need to show an ad, you require that lua file and then call show_vungle_ad()

Correct?

That’s very cool :slight_smile: I am wondering where you put all those ad networks initialization codes? I will assume main.lua?

In any event, thank you so much for sharing. I appreciate that. I will try to emulate your way.

Mo