GoogleAdMob 广告接入

谷歌广告接入For Unity

直接百度进入Admob 网站:https://developers.google.cn/admob/

找到for unity 

根据指南接入,创建 AdMob 帐号,该网站需要翻墙,申请自己的AppID,以及应用中接入的广告ID,广告分为三种:

横幅式广告,插入式广告,激励广告。

下载Unity 的插件,导入到Unity。

在 Unity 编辑器中,依次选择 Assets > Play Services Resolver > Android Resolver > Resolve

在 Unity 编辑器中,从菜单中依次选择 Assets > Google Mobile Ads > Settings。

这里填入申请的AppID,而不是广告ID。

接下来就是 代码接入。

    public void Start()
    {
        
#if UNITY_ANDROID
        string appId = "Your Android AppID";
#elif UNITY_IPHONE
        string appId = "Your iOS AppID";
#else
        string appId = "unexpected_platform";
#endif

        MobileAds.SetiOSAppPauseOnBackground(true);
        //初始化APP
        MobileAds.Initialize(appId);       
    }

创建广告请求:

 private AdRequest CreateAdRequest()
    {
        return new AdRequest.Builder().Build();
    }

1.横幅式广告接入,显示在屏幕顶端 或者下部(测试期间 先使用官网提供的 测试广告ID)

 private void RequestBanner()
    {
#if UNITY_EDITOR
        string adUnitId = "unused";
#elif UNITY_ANDROID
        string adUnitId = "Your AdID";
#elif UNITY_IPHONE
        string adUnitId = "Your AdID";
#else
        string adUnitId = "unexpected_platform";
#endif

       
        if (this.bannerView != null)
        {
            this.bannerView.Destroy();
        }

        // 创建 320x50 banner 
        this.bannerView = new BannerView(adUnitId, AdSize.SmartBanner, AdPosition.Top);
        //加载
        this.bannerView.LoadAd(this.CreateAdRequest());
    }

2.插入式广告:

 private void RequestInterstitial()
    {
       
#if UNITY_EDITOR
        string adUnitId = "unused";
#elif UNITY_ANDROID
        string adUnitId = "Your AdID";
#elif UNITY_IPHONE
        string adUnitId = "Your AdID";
#else
        string adUnitId = "unexpected_platform";
#endif

       
        if (this.interstitial != null)
        {
            this.interstitial.Destroy();
        }
       
        this.interstitial = new InterstitialAd(adUnitId);
        this.interstitial.LoadAd(this.CreateAdRequest());
    }

由于插入式和激励广告 需要一个加载过程,所以在显示的时候,先判断一下 加载是否完成

 private void ShowInterstitial()
    {
        if (this.interstitial.IsLoaded())
        {
            this.interstitial.Show();
        }
        else
        {
            Debug.Log("Interstitial is not ok");
        }
    }

3.激励广告(视频型)

 public void CreateAndLoadRewardedAd()
    {
#if UNITY_EDITOR
        string adUnitId = "unused";
#elif UNITY_ANDROID
        string adUnitId = "Your AdID";
#elif UNITY_IPHONE
        string adUnitId = "Your AdID";
#else
        string adUnitId = "unexpected_platform";
#endif

        this.rewardedAd = new RewardedAd(adUnitId);
        AdRequest request = this.CreateAdRequest();
        //加载激励广告
        this.rewardedAd.LoadAd(request);
    }

显示的时候,判断是否加载完成,同上。

关于用户和广告的互动,可以根据文档 详细接入。

发布了76 篇原创文章 · 获赞 43 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/hnzmdlhc/article/details/102496075