如何在Unity中集成Admob插页式广告?

5
我想在Unity中集成AdMob插屏广告,我已经为横幅广告做了,但是无法找到最终的解决方案来处理插屏广告,请帮忙。
我尝试了以下链接,但对于插屏广告没有起作用: https://github.com/googleads/googleads-mobile-plugins 请不要建议任何付费插件,如Prime31等。
5个回答

5
您可以在谷歌开发者页面这里下载Unity软件包。

3
如果免费插件不符合您的需求,您将需要编写自己的本机插件或在Asset Store购买插件。然而,该插件的README表示它支持插页式广告。请尝试按照自述文件中的说明操作。如果您已经尝试过但无效,告诉我们出了什么问题会有所帮助。
以下是自述文件中提取的最小横幅代码以创建插页式广告。
using GoogleMobileAds.Api;
...
// Initialize an InterstitialAd.
InterstitialAd interstitial = new InterstitialAd("MY_AD_UNIT_ID");
// Create an empty ad request.
AdRequest request = new AdRequest.Builder().Build();
// Load the interstitial with the request.
interstitial.LoadAd(request);

与横幅广告不同,插屏广告需要显式显示。在您的应用程序中适当的停止点,请检查插页广告是否准备就绪,然后再显示它:

if (interstitial.IsLoaded()) {
  interstitial.Show();
}

关于广告,您想在一个场景中展示它,然后在另一个脚本的另一个场景中显示吗? - Vale

2

但它不支持插页式广告 :( - Gank
现在在 Google 页面上有一个官方页面:https://developers.google.com/mobile-ads-sdk/docs/games#unity - trenki

1

尝试使用https://github.com/unity-plugins/Unity-Admob.,我用它成功了。

而且代码更加简单易懂。

using UnityEngine;
using System.Collections;
using admob;
public class admobdemo : MonoBehaviour {

    // Use this for initialization
    void Start () {
        Admob.Instance().bannerEventHandler += onBannerEvent;
        Admob.Instance().interstitialEventHandler += onInterstitialEvent;
    }

    // Update is called once per frame
    void Update () {

    }
    void OnGUI(){
        if (GUI.Button (new Rect (0, 0, 100, 60), "initadmob")) {
            Admob ad = Admob.Instance();
             #if UNITY_IOS
            ad.initAdmob("ca-app-pub-27960454450664210/xxxxxxxxx", "ca-app-pub-279343530664210/xxxxxxxxxxx");
            #else 
            ad.initAdmob("ca-app-pub-27960454450664210/xxxxxxxxx", "ca-app-pub-279343530664210/xxxxxxxxxxx");
            #endif
         //   ad.setTesting(true);
        }
        if (GUI.Button(new Rect(120, 0, 100, 60), "showfull"))
        {
            Admob ad = Admob.Instance();
            if (ad.isInterstitialReady())
            {
                ad.showInterstitial();
            }
            else
            {
                ad.loadInterstitial();
            }
        }
        if (GUI.Button(new Rect(240, 100, 100, 60), "showbanner"))
        {
            Admob.Instance().showBannerRelative(AdSize.Banner, AdPosition.BOTTOM_CENTER, 0);
        }
        if (GUI.Button(new Rect(240, 200, 100, 60), "showbannerABS"))
        {
            Admob.Instance().showBannerAbsolute(AdSize.Banner, 0, 30);
        }
        if (GUI.Button(new Rect(240, 300, 100, 60), "hidebanner"))
        {
            Admob.Instance().removeBanner();
        }
    }
    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);
    }
}

1

这里是谷歌官方的Unity插件,他们提供横幅广告和插屏广告的代码示例。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接