Hi,
I’ve set up AppLovin and everything is working fine.
I’m only using it for incentivised ads and have frequency capping set in the AppLovin site.
I need to know when a user has reached the frequency cap for that session so that I can alert them to this.
The problem is is is never called. Only event.phase == “failed” is called in that scenario.
So to test, I set frequency capping to 5 per session and after 5/6 ads it no longer serves ads as I would expect.
But there is no way of knowing whether it failed to load ads due to none being available in that region or whether the cap has been reached.
Here’s my code
local applovin = require( "plugin.applovin" ) local alert local function applovinlistener( event ) if ( event.phase == "init" ) then print( "AppLovin event: initialization successful" ) applovin.load( true ) elseif ( event.phase == "loaded" ) then print( "AppLovin event: " .. tostring(event.type) .. " ad loaded successfully" ) elseif ( event.phase == "displayed" or event.phase == "playbackBegan" ) then print( "AppLovin event: " .. tostring(event.type) .. " ad displayed" ) elseif event.phase == "hidden" then print( "AppLovin event: " .. tostring(event.type) .. " ad hidden" ) applovin.load( true ) elseif event.phase == "playbackEnded" then print( "AppLovin event: " .. tostring(event.type) .. " ad ended" ) elseif ( event.phase == "clicked" ) then print( "AppLovin event: " .. tostring(event.type) .. " ad clicked/tapped" ) elseif ( event.phase == "validationExceededQuota") then alert = native.showAlert( "Reward Quota Exceeded", "Your video reward quota for this session has reached its limit. Please try again later.", { "OK" }) print( "AppLovin event: " .. tostring(event.type) .. " ad and/or reward exceeded quota" ) elseif ( event.phase == "failed" ) then print( "AppLovin event: " .. tostring(event.type) .. " ad failed to load" ) print("Error:",tostring(event.response)) print(event.isError) alert = native.showAlert( "Error", "Video failed to load.", { "OK" }) elseif ( event.phase == "declinedToView" ) then print( "AppLovin event: user declined to view " .. tostring(event.type) .. " ad" ) applovin.load( true ) elseif ( event.phase == "validationSucceeded" ) then print( "AppLovin event: " .. tostring(event.type) .. " ad viewed and reward approved by AppLovin server" ) --update coins here local amountearned = event.data.amount globes.coins = globes.coins + amountearned loadsave.settings.coins = globes.coins loadsave.savegame() coinstring.text = globes.coins elseif (event.phase == "validationFailed") or (event.phase == "validationRejected" ) then print( "AppLovin event: " .. tostring(event.type) .. " ad failed, or was rejected" ) alert = native.showAlert( "Reward Failed", "Your video reward has either failed or been rejected. Please try again later.", { "OK" }) end end applovin.init( applovinlistener, { sdkKey= applovinkey, verboseLogging = false} )