首页 > 解决方案 > Admob 测试 广告未在真实设备中显示?

问题描述

我遇到了问题,因为我的广告没有显示在我的真实设备中,而是显示在模拟器中,使用 logcat 时出现错误,这就是我得到的:

在此处输入图像描述

我不知道该怎么做才能解决问题,因为我觉得我做的一切都是正确的。

你们中的一些人可能会要求可能有帮助的代码,这是我的 AdManager 脚本,它可能看起来很长,但很容易......

public static AdManager Instance
{
    get;
    set;
}
public bool InterstitialLoaded = false;
public bool InterstitialClosed = false;

public string BannerAdId = "ca-app-pub-3940256099942544/6300978111";
public string InterstitialAdId = "ca-app-pub-3940256099942544/1033173712";
InterstitialAd interstitialAd;
AdRequest request;
private BannerView bannerView;

public void requestAds()
{
    if (PlayerPrefs.GetInt("NoPersonalized") == 1)
    {
        request = new AdRequest.Builder().AddExtra("npa", "1").Build();
        Debug.Log("NoPersonalized ads EU");

    }
    else
    {
        if (PlayerPrefs.GetInt("FirstTime") == 1)
        {
            if (PlayerPrefs.GetInt("Localized") == 1)
            {
                //request = new AdRequest.Builder().Build();
                request = new AdRequest.Builder().Build();
                Debug.Log("Personalized ads EU");
            }
        }
        else if (PlayerPrefs.GetInt("BBb") == 1)
        {
            if (PlayerPrefs.GetInt("Localized") == 0)
            {
                request = new AdRequest.Builder().Build();
                Debug.Log("personalized No EU");
            }
            else
            {
                Debug.Log("First time need select ");
                request = new AdRequest.Builder().Build();
            }
        }


        else if (PlayerPrefs.GetInt("NotEU") == 1)
        {
            Debug.Log("Personalized Not EU ");
            request = new AdRequest.Builder().Build();
        }
    }



}
private void Awake()
{
    if (Instance == null)
        Instance = this;
    else
        Destroy(gameObject);
    DontDestroyOnLoad(gameObject);
    interstitialAd = new InterstitialAd(InterstitialAdId);

    Showbanner();
    requestAds();

    interstitialAd.LoadAd(request);
}

public void RequestBanner()
{
    bannerView = new BannerView(BannerAdId, AdSize.Banner, AdPosition.Bottom);
    requestAds();
    bannerView.LoadAd(request);
    bannerView.Show();

}
public void Showbanner()
{

        RequestBanner();
}
public void HideBanner()
{
    bannerView.Destroy();
    bannerView.Hide();
    bannerView.Destroy();
}

public void ShowInterstitial()
{
    requestAds();
    interstitialAd.LoadAd(request);
    if (interstitialAd.IsLoaded())
    {

        InterstitialLoaded = true;
        interstitialAd.Show();
    }
    else
    {

    }

    interstitialAd.OnAdClosed += InterstitialAd_onAdClosed;
}

private void InterstitialAd_onAdClosed(object sender, System.EventArgs e)
{
    InterstitialLoaded = false;
    InterstitialClosed = true;
}

}

我得到两个错误实际上第一个是当我调用我的横幅时,这意味着我在那个方法中有问题:

 private void Awake()
{
    if (Instance == null)
        Instance = this;
    else
        Destroy(gameObject);
    DontDestroyOnLoad(gameObject);
    interstitialAd = new InterstitialAd(InterstitialAdId);

    Showbanner(); // <------- Here
    requestAds();

    interstitialAd.LoadAd(request);
}

我这几天都遇到这个问题了,希望有人能帮忙。

任何帮助将非常感激。

标签: c#unity3dadmobads

解决方案


推荐阅读