- Home /
ADmob Hide banner,Destroy banner
Hello i have tested a bit admob banners and stuff but i have problem hide banner when open new scene. my code should work but i don't know why it's not working.and Destroy don't work neither.
My Code
using UnityEngine;
using System.Collections;
using GoogleMobileAds.Api;
public class ssse : MonoBehaviour {
private BannerView bannerView;
// Use this for initialization
void Start () {
RequestBanner();
}
// Update is called once per frame
void Update () {
}
void OnMouseDown(){
bannerView.Hide ();
Application.LoadLevel("nd");
}
private void RequestBanner()
{
#if UNITY_ANDROID
string adUnitId = "ca-app-pub-6170044225030786/6179417552";
#elif UNITY_IPHONE
string adUnitId = "INSERT_IOS_BANNER_AD_UNIT_ID_HERE";
#else
string adUnitId = "unexpected_platform";
#endif
// Create a 320x50 banner at the top of the screen.
BannerView bannerView = new BannerView(adUnitId, AdSize.SmartBanner, AdPosition.Top);
// Create an empty ad request.
AdRequest request = new AdRequest.Builder().Build();
// Load the banner with the request.
bannerView.LoadAd(request);
}
}
but bannerView.Hide(); work when i add it under RequestBanner.
i get error : NullReferenceException: Object reference not set to an instance of an object ssse.On$$anonymous$$ouseDown () (at Assets/skriptid/ssse.cs:15) UnityEngine.Send$$anonymous$$ouseEvents:DoSend$$anonymous$$ouseEvents(Int32, Int32)
Change "BannerView bannerView = new BannerView(adUnitId, AdSize.SmartBanner, AdPosition.Top);" to "bannerView = new BannerView(adUnitId, AdSize.SmartBanner, AdPosition.Top);" that should remove your nullReferenceException. and to hide the banner try this "if (Application.loadedLevelName == "Name of your Game Scene") { bannerView.Hide(); }"
Answer by MartinIsla · May 02, 2017 at 02:45 PM
Hey, I had this problem and I fixed it. I'm not sure if it's correct, but it works. It looks like the banner isn't actually destroyed when you load another scene.
I created a script that Requests and shows the banner on Start() and destroys it OnDisable()
The RequestBanner method is the one found on the documentation BUT it also shows it after requesting it, as I'm not actually hiding it but destroying it.
bannerView.Show();
And this is the script:
void Start ()
{
print("SHOW BANNER");
AdsManager.Instance.RequestBanner();
}
private void OnDisable()
{
print("DESTROY BANNER");
AdsManager.Instance.bannerView.Destroy();
}
Hope this helps someone.
Happy development!
Your answer
Follow this Question
Related Questions
Can't Hide AdMob Ads Banner 1 Answer
How to hide a rect 1 Answer
Multiple Cars not working 1 Answer
Distribute terrain in zones 3 Answers