UnityAds Banner not showing up in production environment/build

Hello Unity3D Community,

First off, my problem is similar to this post by @stinkyboy:

However, it lacks information and has also so far received no helpful (or any at all) comments or answers, so let me try this as well:

TL;DR

I’ve implemented Unity Monetization according to the Integration guide and in test mode, everything is working fine, but switching test mode off will make the banner not appear at all while the (rewarded) video advertisement is still working correctly and showing real ads. Is there a way to fix this? I need to make sure that when that build goes live in the iTunes and Playstore that the Monetization is working.

The Issue:

For a current project (Android + iOS App) I’ve been trying to get advertisements for monetization,
I’ve followed the instructions here:

https://unityads.unity3d.com/help/unity/integration-guide-unity

And was able to successfully implement the two types I wanted:

  1. A rewarded video ad
  2. A permanent banner ad

Which work fine in test mode.
However, if I disable test mode, compile my app and install it on my (android) smartphone, it’s not showing the banner. The Reward video works fine, but the banner is nowhere to be seen.

Current Implementation:

I have downloaded and imported the entirety of the Unity Monetization 3.1.0 SDK from the Asset Store.

At the beginning of my main script (singleton), I make sure to import the Advertisement API:

using UnityEngine.Advertisements;

And to distinguish between iOS and Android I run this logic:

// Monetization vars
#if UNITY_IOS
private string gameID = "[redacted]";
#elif UNITY_ANDROID
private string gameID = "[redacted]";

(the [redacted] values are obviously my proper project id’s for the unity advertisement project)

Then in Start(), I try to show the banner ad:

// Check if there's currently a valid gameID in use and initialize the bottom ad banner
if (gameID != null)
{
    Advertisement.Initialize(gameID, gameTestmode);
    StartCoroutine(ShowBannerWhenReady());
}

My coroutine for the banner placement looks as follows:

// Banner advertisement
IEnumerator ShowBannerWhenReady()
{
    while (!Advertisement.IsReady("BottomAds"))
    {
        yield return new WaitForSeconds(0.5f);
    }
    Advertisement.Banner.Show("BottomAds");
}

And this works! At least when being in test mode, but once I turn test mode off everywhere, compile and install/run it on my smartphone it’s just not showing up.

I’ve also made sure that:

  1. Unity Ads is “ON” in the Services Window of Unity (and the proper project is hooked to it)
  2. Unity Ads Service “Enable test mode” is off / unchecked
  3. Enable built-in Ads extension is also off (otherwise Gradle will have lots of duplicate classes due to the asset store plugin being installed)
  4. In my project settings via operate.dashboard.unity3d.com I’ve set the test mode to FORCE OFF for both platforms
  5. I wait after starting my App to give Unity ads a bit of time to prepare and cache the banner before showing it
  6. My Smartphone has an internet connection
  7. Everything is up-to-date (using Unity 2019.1.0f2 and Unity Monetization SDK 3.1.0)

So yeah I am kind of at the end of my wits, I hope anyone can help me figure this out or explain what is going on, also: let me know if there’s anything else I should provide.

Thanks in advance!

Since no one in this community seemed to have an answer I contacted the official unity ads support and got a quick reply:

If your Ad works in Test mode it can work, however:

The Banner ads itself are pretty new and are still getting campaigns and
more coverage for Europe, the engineer
at Unity told me that NA was covered and they aim to have Europe covered by the end of this year, preferably until the end of Q3 but couldn’t quite give me an official ETA, so take that with a grain of salt.

I hope this helps other people having a similar problem.

I was facing the same issue. I am located in India.
After reading this thread, I tried using a VPN to change my location to North America and the banner ads started working!
So I think the issue is just that Unity ads aren’t available globally yet.,I am facing the same issue. I am located in India.
So after reading this thread I tried using a VPN to change my location to North America and the ads started working! So I’m guessing Unity bammer ads just aren’t working in other countries yet.

Set Unity Ads Service “Enable test mode” to true because you’re testing it on your device buddy :smiley: when publish your game in store you can set it to false

Hello. I’m located in Canada, and today I’m having the same issue. This is really strange.

Same for me, I have only a banner in test mode for Android.
And I have some crash on some devices.

I have the same issue, and I published the game but the banners are not showing up and everything that has to do with test mode are disable and off.

Same issue here, anybody solved?

Having the same issue here. So what is the coverage of Asia or Hong Kong? Is the banner function still “new” in 2021?

to find a solution to this problem?
The banner appears well in test mode but when we look after publication on “PlayStore” nothing!
Is there a solution or do we have to find a platform other than unity?! -_-

2021 and I’m having this exact issue on an iOS game I just released. Rewarded and banner ads both work in test mode, but banner ads do not appear in a real game setting. For the record, test mode has been set to false and “using production ads for all devices” has been enabled. I’m located in a major city in North America and never anticipated a shortage of ad supply. Only option now I suppose is to pursue a mediation with other ad providers.

2022 xD im from Dominican Republic and I have the same issue

Thank you very much I was really confused as to why is not showing am in Ghana, reward works perfect. And where I placed the banner if is not showing it will destroy my UI so i guess i have to take it down and use the reward for now.

From Philippines here, i guess still the same in 2024?