我希望在Unity中集成admob interstitial,我为横幅做了但却无法找到插页式广告的最终解决方案,任何帮助都将不胜感激。
我绑定了以下链接,但它不适用于非页内广告 https://github.com/googleads/googleads-mobile-plugins
请不要将任何付费插件建议为Prime31等。
答案 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)
答案 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);
}
}