Search code examples
luacoronasdkchartboostvungle-ads

How to implement incentivized ads on corona SDK?


Hi I am working on a game on corona SDK. I just can't figure out how to add vungle or chartboost incentivized ads on it and add virtual rewards after callback.

I searched out for Corona Tutorials but did not find any. I can switch to other SDKs but I don't want to because Corona SDK is my favorite SDK and can never think of using any other SDK. Thank you


Solution

  • The username for vungle ads is optional, you can view it here: https://docs.coronalabs.com/plugin/vungle/show.html#parameter-reference

    You can put your reward code on the "adEnd" event type.

    Below is the sample code:

    --import vungle ads
    
    local ads = require "ads"
    
    --GET YOUR APP ID FROM VUNGLE
    --TEST_Android for Android devices
    local appID = "TEST_iOS"
    
    --VUngle ADS Listener
    local function vungleAdListener( event )
      if ( event.type == "adStart" and event.isError ) then
        -- Ad has not finished caching and will not play
      end
      if ( event.type == "adStart" and not event.isError ) then
        -- Ad will play
      end
      if ( event.type == "cachedAdAvailable" ) then
        -- Ad has finished caching and is ready to play
      end
      if ( event.type == "adView" ) then
        -- An ad has completed
      end
      if ( event.type == "adEnd" ) then
        -- The ad experience has been closed- this
        -- is a good place to resume your app
        -- Place your reward code here like extra lives, coins etc    
    
      end
    end
    
    --initialize vungle ads
    --THIS MUST BE CALLED EARLY SO THAT VUNGLE WILL CACHE THE ADS TO PLAY
    --USUALLY TAKES 30 SECS OR LESS ACCORDING TO THE DOCS
    ads.init("vungle", appID)
    
    --to show the ads somewhere on your game 
    ads.show( "interstitial", { isAnimated=false, isBackButtonEnabled=true } )
    

    EDIT

    TO show the ads on a button you can add a widget. To customize a widget you can view more here: https://docs.coronalabs.com/api/library/widget/newButton.html

    --INIT WIDGET
    local widget = require("widget")
    
    --BUTTON EVENT LISTENER
    local function handleButtonEvent( event )
    
        if ( "ended" == event.phase ) then
        --SHOW ADS        
        ads.show( "interstitial", { isAnimated=false, isBackButtonEnabled=true } )
        end
    end
    
    
    --ADD YOUR BUTTON
    local button1 = widget.newButton
    {
        left = display.contentWidth/2,
        top = display.contentHeight/2,
        id = "adsButton",
        label = "CLICK ME FOR ADS",
        onEvent = handleButtonEvent
    }