I have written a simple flow to load appodeal ads (interstitials, banners and rewarded) on Android and iOS and linked up the app to the dashboard etc and double-checked everything.
I am basically not prechaching anything and then loading the different ad-types after I get a successful callback in the init phase.
This works perfectly for Android and I’ve used this approach for all other ad plugins in the past but for iOS I never get any further callbacks to my adRequests listener after the first successful initialisation.
I am on the Beta plugin, have added all the necessary parameters to the build.settings (Plist entry for iOS, arbitrary loads in transport security etc are all taken care of) but still no luck.
This is the init call and the associated callback:
-- Ad listener function local function adListener( event ) debugStmt.print( "Appodeal event: phase is "..event.phase) -- Successful initialization of the Appodeal plugin if ( event.phase == "init" ) then debugStmt.print( "Appodeal: initialization successful" ) appodeal.load( "interstitial") appodeal.load( "rewardedVideo") -- An ad loaded successfully elseif ( event.phase == "loaded" ) then debugStmt.print( "Appodeal: " .. tostring(event.type) .. " ad loaded successfully" ) if(tostring(event.type)=="interstitial")then isStaticAdAvailable=true elseif(tostring(event.type)=="rewardedVideo")then isRewardedAdAvailable=true elseif(tostring(event.type)=="banner")then isBannerAdAvailable=true end -- The ad was displayed/played elseif ( event.phase == "displayed" or event.phase == "playbackBegan" ) then debugStmt.print( "Appodeal: " .. tostring(event.type) .. " ad displayed" ) -- The ad was closed/hidden/completed elseif ( event.phase == "hidden" or event.phase == "closed" or event.phase == "playbackEnded" ) then debugStmt.print( "Appodeal: " .. tostring(event.type) .. " ad closed/hidden/completed" ) if(tostring(event.type)=="interstitial")then appodeal.load( "interstitial") elseif(tostring(event.type)=="rewardedVideo")then appodeal.load( "rewardedVideo") elseif(tostring(event.type)=="banner")then -- appodeal.load( "banner") end -- The user clicked/tapped an ad elseif ( event.phase == "clicked" ) then debugStmt.print( "Appodeal: " .. tostring(event.type) .. " ad clicked/tapped" ) -- The ad failed to load elseif ( event.phase == "failed" ) then debugStmt.print( "Appodeal: " .. tostring(event.type) .. " ad failed to load" ) debugStmt.print( "Appodeal: isError : "..tostring(event.isError)) debugStmt.print( "Appodeal: response : "..tostring(event.response)) end end ---------------------------------- -- Init the Appodeal plugin appodeal.init( adListener, { appKey=appK, testMode=true, supportedAdTypes={"banner", "interstitial", "rewardedVideo"}, disableAutoCacheForAdTypes={"interstitial","rewardedVideo"},disableNetworks={"mintegral","amazon\_ads","my\_target"}} )
I have added all the base plugins necessary in the build.settings and I could post that here if it helps but it does work on Android so that part is probably not the problem.
There are NO CRASHES-- I do get a successful callback on init but there is nothing after that-- no failure, no error… nothing.
Testing on iOS 13+, using proper XCode and SDK and the latest Corona Daily Build.
Help will be appreciated, like always.