首页 文章

Admob for Unity应用程序不显示添加

提问于
浏览
0

我有一个admob for unity app的问题,我使用文档添加admob,我使用了youtube的视频教程,我尝试了演示应用程序(来自admob的hello world),但结果是一样的,广告 Banner 没有出现在我的应用程序中,至于如果使用插页式广告,当我尝试展示它时,我的应用程序崩溃了 . 但是,在控制台中有一条虚拟消息 .

我的代码

using GoogleMobileAds.Api;

public class AdMobManager : MonoBehaviour {

private BannerView bannerView;

[SerializeField] private string appID = "";
[SerializeField] private string bannerID = "";
[SerializeField] private string regularAD = "";

private void Awake(){
    MobileAds.Initialize(appID);
}

public void OnClickShowBanner() {
    this.RequestBanner();
}


public void OnClickShowAd() {
    this.RequestReqularAd();
}

private void RequestReqularAd() {
    InterstitialAd AD = new InterstitialAd(regularAD); 

    AdRequest request = new AdRequest.Builder().Build();

    AD.LoadAd(request);
}

public void RequestBanner() {
    bannerView = new BannerView(bannerID, AdSize.Banner, AdPosition.Bottom);

    AdRequest request = new AdRequest.Builder().Build();

    bannerView.LoadAd(request);
   }

}

2 回答

  • 0

    您可以将这个简单的代码用于admob Banner . 有时候显示 Banner 广告需要时间,但这个脚本运行良好 . Source

    public class GoogleMobileAdsDemoScript : MonoBehaviour
    {
        private BannerView bannerView;
    
        public void Start()
        {
            this.RequestBanner();
        }
    
        private void RequestBanner()
        {
            #if UNITY_ANDROID
                string adUnitId = "ca-app-pub-3940256099942544/6300978111";
            #elif UNITY_IPHONE
                string adUnitId = "ca-app-pub-3940256099942544/2934735716";
            #else
                string adUnitId = "unexpected_platform";
            #endif
    
            // Create a 320x50 banner at the top of the screen.
            bannerView = new BannerView(adUnitId, AdSize.Banner, AdPosition.Top);
    
            // Create an empty ad request.
            AdRequest request = new AdRequest.Builder().Build();
    
            // Load the banner with the request.
            bannerView.LoadAd(request);
        }
    }
    
  • 0

    源代码可用https://github.com/unity-plugins/Unity-Admob/blob/master/AdmobPluginRes/admobdemo.cs

    using UnityEngine;
    using admob;
    public class admobdemo : MonoBehaviour {
        Admob ad;
        string appID="";
        string bannerID="";
        string interstitialID="";
        string videoID="";
        string nativeBannerID = "";
    
        void Start () {
            Debug.Log("start unity demo-------------");
             initAdmob();
        }
    
        void Update () {
            if (Input.GetKeyUp (KeyCode.Escape)) {
                Debug.Log(KeyCode.Escape+"-----------------");
            }
        }
    
        void initAdmob()
        {
    #if UNITY_IOS
                     appID="ca-app-pub-3940256099942544~1458002511";
                     bannerID="ca-app-pub-3940256099942544/2934735716";
                     interstitialID="ca-app-pub-3940256099942544/4411468910";
                     videoID="ca-app-pub-3940256099942544/1712485313";
                     nativeBannerID = "ca-app-pub-3940256099942544/3986624511";
    #elif UNITY_ANDROID
                     appID="ca-app-pub-3940256099942544~3347511713";
                     bannerID="ca-app-pub-3940256099942544/6300978111";
                     interstitialID="ca-app-pub-3940256099942544/1033173712";
                     videoID="ca-app-pub-3940256099942544/5224354917";
                     nativeBannerID = "ca-app-pub-3940256099942544/2247696110";
    #endif
            AdProperties adProperties = new AdProperties();
            adProperties.isTesting = true;
    
            ad = Admob.Instance();
                ad.bannerEventHandler += onBannerEvent;
                ad.interstitialEventHandler += onInterstitialEvent;
                ad.rewardedVideoEventHandler += onRewardedVideoEvent;
                ad.nativeBannerEventHandler += onNativeBannerEvent;
                ad.initSDK(appID,adProperties);//reqired,adProperties can been null
        }
        void OnGUI(){
            if (GUI.Button(new Rect(120, 0, 100, 60), "showInterstitial"))
            {
               Debug.Log("touch inst button -------------");
                if (ad.isInterstitialReady())
                {
                    ad.showInterstitial();
                }
                else
                {
                    ad.loadInterstitial(interstitialID);
                }
            }
            if (GUI.Button(new Rect(240, 0, 100, 60), "showRewardVideo"))
            {
                Debug.Log("touch video button -------------");
                if (ad.isRewardedVideoReady())
                {
                    ad.showRewardedVideo();
                }
                else
                {
                    ad.loadRewardedVideo(videoID);
                }
            }
            if (GUI.Button(new Rect(0, 100, 100, 60), "showbanner"))
            {
                Admob.Instance().showBannerRelative(bannerID,AdSize.SMART_BANNER, AdPosition.BOTTOM_CENTER);
            }
            if (GUI.Button(new Rect(120, 100, 100, 60), "showbannerABS"))
            {
                Admob.Instance().showBannerAbsolute(bannerID,AdSize.BANNER, 20, 220,"mybanner");
            }
            if (GUI.Button(new Rect(240, 100, 100, 60), "removebanner"))
            {
                Admob.Instance().removeBanner();
                Admob.Instance().removeBanner("mybanner");
            }
    
            if (GUI.Button(new Rect(0, 200, 100, 60), "showNative"))
            {
                Admob.Instance().showNativeBannerRelative(nativeBannerID,new AdSize(320,280), AdPosition.BOTTOM_CENTER);
            }
            if (GUI.Button(new Rect(120, 200, 100, 60), "showNativeABS"))
            {
                Admob.Instance().showNativeBannerAbsolute(nativeBannerID,new AdSize(-1,132), 0, 300);
            }
            if (GUI.Button(new Rect(240, 200, 100, 60), "removeNative"))
            {
                Admob.Instance().removeNativeBanner();
            }
        }
        void onInterstitialEvent(string eventName, string msg)
        {
            Debug.Log("handler onAdmobEvent---" + eventName + "   " + msg);
            if (eventName == AdmobEvent.onAdLoaded)
            {
                Admob.Instance().showInterstitial();
            }
        }
        void onBannerEvent(string eventName, string msg)
        {
            Debug.Log("handler onAdmobBannerEvent---" + eventName + "   " + msg);
        }
        void onRewardedVideoEvent(string eventName, string msg)
        {
            Debug.Log("handler onRewardedVideoEvent---" + eventName + "  rewarded: " + msg);
        }
        void onNativeBannerEvent(string eventName, string msg)
        {
            Debug.Log("handler onAdmobNativeBannerEvent---" + eventName + "   " + msg);
        }
    }
    

相关问题