Appodeal Banner Ads Not Showing

I’ve been trying out appodeal ads on my game, interstitial and rewarded video ads would appear just fine, but banner ads don’t show. Anyone knows why this is happening? 

You need to put some print statements in your adListener function to dump the contents of the event table passed to that adListener. It will show you if your getting errors or any reason why you’re not getting ads.

Without this information, all anyone can do is guess as to the problem.

Rob

Post your init code, plugin configuration and the show ad line would also help. I build the app I am currently coding a couple times a day. I have seen no issues with ads today or yesterday.

main.lua

local appodeal = require( "plugin.appodeal" ) local function listener( event ) if ( event.phase == "init" ) then -- Successful initialization print("Init Successful") end end -- Initialize the Appodeal plugin appodeal.init( listener, { appKey = "MY APP KEY" })

home.lua

local appodeal = require("plugin.appodeal") appodeal.show( "banner" )

build.settings

 plugins = { ["plugin.googleAnalytics"] = { publisherId = "com.coronalabs" }, -- Base ['plugin.appodeal.base'] = { publisherId = 'com.coronalabs' }, ['plugin.appodeal.AmazonAds'] = { publisherId = 'com.coronalabs' }, ['plugin.appodeal.GoogleAdMob'] = { publisherId = 'com.coronalabs' }, ['plugin.appodeal.TwitterMoPub'] = { publisherId = 'com.coronalabs' }, ['plugin.appodeal.StartApp'] = { publisherId = 'com.coronalabs' }, -- Banner ['plugin.appodeal.AppLovin'] = { publisherId = 'com.coronalabs' }, ['plugin.appodeal.FacebookAudience'] = { publisherId = 'com.coronalabs' }, ['plugin.appodeal.Flurry'] = { publisherId = 'com.coronalabs' }, ['plugin.appodeal.InMobi'] = { publisherId = 'com.coronalabs' }, ['plugin.appodeal.MyTarget'] = { publisherId = 'com.coronalabs' }, ['plugin.appodeal.MillenialMedia'] = { publisherId = 'com.coronalabs' }, --['plugin.appodeal.Yandex'] = { publisherId = 'com.coronalabs' }, -- Interstitial ['plugin.appodeal.AdColony'] = { publisherId = 'com.coronalabs' }, ['plugin.appodeal.AppLovin'] = { publisherId = 'com.coronalabs' }, ['plugin.appodeal.Chartboost'] = { publisherId = 'com.coronalabs' }, ['plugin.appodeal.FacebookAudience'] = { publisherId = 'com.coronalabs' }, ['plugin.appodeal.Flurry'] = { publisherId = 'com.coronalabs' }, ['plugin.appodeal.InMobi'] = { publisherId = 'com.coronalabs' }, ['plugin.appodeal.IronSource'] = { publisherId = 'com.coronalabs' }, ['plugin.appodeal.Mobvista'] = { publisherId = 'com.coronalabs' }, ['plugin.appodeal.MyTarget'] = { publisherId = 'com.coronalabs' }, ['plugin.appodeal.StartApp'] = { publisherId = 'com.coronalabs' }, ['plugin.appodeal.MillenialMedia'] = { publisherId = 'com.coronalabs' }, ['plugin.appodeal.Ogury'] = { publisherId = 'com.coronalabs' }, -- Rewarded Video ['plugin.appodeal.AdColony'] = { publisherId = 'com.coronalabs' }, ['plugin.appodeal.AppLovin'] = { publisherId = 'com.coronalabs' }, ['plugin.appodeal.Chartboost'] = { publisherId = 'com.coronalabs' }, ['plugin.appodeal.FacebookAudience'] = { publisherId = 'com.coronalabs' }, ['plugin.appodeal.Flurry'] = { publisherId = 'com.coronalabs' }, ['plugin.appodeal.InMobi'] = { publisherId = 'com.coronalabs' }, ['plugin.appodeal.IronSource'] = { publisherId = 'com.coronalabs' }, ['plugin.appodeal.Mobvista'] = { publisherId = 'com.coronalabs' }, ['plugin.appodeal.MyTarget'] = { publisherId = 'com.coronalabs' }, ['plugin.appodeal.StartApp'] = { publisherId = 'com.coronalabs' }, ['plugin.appodeal.Unity'] = { publisherId = 'com.coronalabs' }, ['plugin.appodeal.Vungle'] = { publisherId = 'com.coronalabs' }, ['plugin.appodeal.Tapjoy'] = { publisherId = 'com.coronalabs' }, },

I’m using this OK.

My init looks like this though:

--appodeal init if isAdSupported == true then appodeal.init(appodealListener, { appKey = os\_Key, --disableWriteExternalPermissionCheck=true, locationTracking = false, supportedAdTypes = { "banner","rewardedVideo" }, --bannerAnimation = true, testMode = false}) end 

Where it lists “supportedAdTypes”

Does that make a difference?

No, it doesn’t make a difference, banner ads are still not appearing

Oh OK.

I know most of the issues I had were typo’s like "phase = " rather than “event.phase=” and stupid stuff like that but I am 70 so I can get away with it.

do you get a true with appodeal.isLoaded( “banner”  )

Otherwise, sorry I couldn’t help.

No, I get a false. Even if I manually call appodeal.load(“banner”), still false 

But the other ad types show true?

Yeah interstitials and rewarded videos show up perfectly

Odd. Have you re checked your BundleID and key for your app at appodeal?

Try this. Remove the showbanner from the home page and add it to the init:

local function listener( event ) if ( event.phase == "init" ) then -- Successful initialization print("Init Successful") appodeal.show( "banner" ) end end

It may be “frowned upon?” but as I only have the one scene I have put:

 local isAdSupported = true --FWD declaration local appodeal if isAdSupported then appodeal = require( "plugin.appodeal" ) end

at the top of the scene and then the init() at the beginning of  “scene:create” like so:

function scene:create( event ) operatingSystem = system.getInfo( "platform" ) local os\_Key if operatingSystem == "android" then os\_Key = "myAndroidKey" else os\_Key = "myAppleKey" end --print("os= "..operatingSystem.." key= "..os\_Key) --appodeal init if isAdSupported == true then appodeal.init(appodealListener, { appKey = os\_Key, --disableWriteExternalPermissionCheck=true, locationTracking = false, supportedAdTypes = { "banner","rewardedVideo" }, --bannerAnimation = true, testMode = false}) end 

This checks for which OS it’s on and chooses the correct key.

I can now appodeal.hide and show 'til my hearts content.

I don’t have anything in “main” and my build.settings plugins look the same as yours.

Still doesn’t work

Could this have anything to do with no banner ads being available in my location?

I doubt it. I have not seen anything under 0% fill rate in any country. Here is the bottom of my list for banners:

Add the test mode to the init like this and see if you get the test ads:

appodeal.init( listener, { appKey = “MY APP KEY”, testMode = true })

Look at the logs and see if you see any errors. If this doesn’t work I would suggest starting a chat with Appodeal it might something in your account.

do you have more than one device for testing… Is it the same on all?

There are a lot of moving pieces here.

  1. Please don’t do any ad operations in scene:create(). Please defer them until the scene is on the screen in scene:show()'s “did” phase.

  2. Please put code at the top of your adListener() function to print the contents of the event table. You can google around/search for Lua table printing functions. Then you need to tether your test device to your computer and watch the console log to see what the ad service is telling you. Without doing this, you’re just going to frustrate yourself and spend time guessing on solutions.

  3. Ad initialization takes time. It happens in the background and you cannot make any other ad calls until initialization is complete. When you go to your scene and are calling appodeal.show() you’re likely calling it before initialization is complete. You need to do more work in your adListener function to set up a way to let the rest of your code that the plugin is done initializing and you can safely call other functions.

Rob

Yes, I just tried, same thing

Oh Yes. That’s a better Idea. I’ll do that.