How to separate video rewards using 2 buttons

OK i have implemented adbuddiz video reward system. In my app, I have 2 buttons for different functions and I want the user to click each buttons, watch video and earn credits per buttons

Right now I have done for one but stuck as to how to make it for the second button since the event listerner is just one listerning to all video events:

local function listenerRewardedVideo( event ) if event.value == "didFetch" then print( "didFetch" ) end if event.value == "didComplete" then print( "didComplete" ) -- Reward user here savecount = savecount + 1 Lib.setSaveValue("savecount", savecount, true); myData.label\_saveme.text = tostring( savecount ) -- local alert = native.showAlert("Successful","Count saved successfully!", {"OK"}) end if event.value == "didNotComplete" then print( "didNotComplete" ) end if event.value == "didFail" then print( "didFail - " .. event.detail ) end end Runtime:addEventListener( "AdBuddizRewardedVideoEvent", listenerRewardedVideo )

So wondering how to have separate listener to perform separate actions.

Just so I understand, are you saying that you have 2 buttons that give a different reward each, and pressing either one of those buttons will show an adbuddiz ad to the user. So the flow would be something like this for example:

press button 1 -> show adbuddiz ad -> user gets 10 coins

press button 2 -> show adbuddiz ad -> user gets 5 gems

If that’s the case, the easiest way would be to set a variable in the button press function, and then check the value of that variable in the ad listener. For example:

local rewardType = nil --this is the variable that will be set local function listenerRewardedVideo( event ) if event.value == "didFetch" then print( "didFetch" ) end if event.value == "didComplete" then print( "didComplete" ) -- Reward user here if rewardType == "coins" then coins = coins + 10 elseif rewardType == "gems" then gems = gems + 5 end savecount = savecount + 1 Lib.setSaveValue("savecount", savecount, true); myData.label\_saveme.text = tostring( savecount ) --local alert = native.showAlert("Successful","Count saved successfully!", {"OK"}) end if event.value == "didNotComplete" then print( "didNotComplete" ) end if event.value == "didFail" then print( "didFail - " .. event.detail ) end end Runtime:addEventListener( "AdBuddizRewardedVideoEvent", listenerRewardedVideo ) local function buttonPress(event) if event.phase == "ended" then rewardType = event.target.reward showAdBuddizAd() end end local button1 = display.newRect(0, 0, 100, 100) button1.reward = "coins" button1:addEventListener("touch", buttonPress) local button2 = display.newRect(200, 200, 100, 100) button2.reward = "gems" button2:addEventListener("touch", buttonPress)

Just so I understand, are you saying that you have 2 buttons that give a different reward each, and pressing either one of those buttons will show an adbuddiz ad to the user. So the flow would be something like this for example:

press button 1 -> show adbuddiz ad -> user gets 10 coins

press button 2 -> show adbuddiz ad -> user gets 5 gems

If that’s the case, the easiest way would be to set a variable in the button press function, and then check the value of that variable in the ad listener. For example:

local rewardType = nil --this is the variable that will be set local function listenerRewardedVideo( event ) if event.value == "didFetch" then print( "didFetch" ) end if event.value == "didComplete" then print( "didComplete" ) -- Reward user here if rewardType == "coins" then coins = coins + 10 elseif rewardType == "gems" then gems = gems + 5 end savecount = savecount + 1 Lib.setSaveValue("savecount", savecount, true); myData.label\_saveme.text = tostring( savecount ) --local alert = native.showAlert("Successful","Count saved successfully!", {"OK"}) end if event.value == "didNotComplete" then print( "didNotComplete" ) end if event.value == "didFail" then print( "didFail - " .. event.detail ) end end Runtime:addEventListener( "AdBuddizRewardedVideoEvent", listenerRewardedVideo ) local function buttonPress(event) if event.phase == "ended" then rewardType = event.target.reward showAdBuddizAd() end end local button1 = display.newRect(0, 0, 100, 100) button1.reward = "coins" button1:addEventListener("touch", buttonPress) local button2 = display.newRect(200, 200, 100, 100) button2.reward = "gems" button2:addEventListener("touch", buttonPress)