如何在Unity中集成admob interstitial?

时间:2014-06-25 07:37:44

标签: unity3d admob ads interstitial

我希望在Unity中集成admob interstitial,我为横幅做了但却无法找到插页式广告的最终解决方案,任何帮助都将不胜感激。

我绑定了以下链接,但它不适用于非页内广告 https://github.com/googleads/googleads-mobile-plugins

请不要将任何付费插件建议为Prime31等。

5 个答案:

答案 0 :(得分:5)

您可以从Google开发者页面here

下载统一软件包

答案 1 :(得分:4)

如果免费插件不符合您的需求,您必须在资源商店中编​​写自己的原生插件或购买。但是,该插件的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();
}

答案 2 :(得分:2)

我在Android游戏中使用了完整的AdMob Unity Package,你可以在这里找到它:http://forum.unity3d.com/threads/admob-unity-package-that-work-with-unity-3-2-above.173292

确保通过整个线程,因为它需要一些调整才能使它与更新的统一版本完美配合。

关于应用发布商ID的帮助很少 - 在主题上查找第7页。

答案 3 :(得分:1)

你去了{p> Here。谷歌的官方Unity插件,他们有横幅广告和插页式广告的代码示例。

答案 4 :(得分: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);
    }
}