直接切入正题,接入谷歌 AdMob 广告。关于申请广告 ID 这部分此处不再详细说明,如有需求,我会在新的篇章中细致介绍。
此需求包含两个要素。
其一,接入 SDK。
SDK 有两种类型。
今日先进行第一种 Unity-Admob 的操作。
下载完插件后,将插件里所含有的相关文件导入您的项目。
至此,第一步完成。
导入项目后,您的项目中将会出现如下文件。
其二,代码。
我们的项目里包含了一个特定的文件。我们能够直接对其进行修改,然后挂载到自身的场景中使用。
那么具体该如何修改呢?
using UnityEngine;using System.Collections;using admob; //这里把类名也做了修改public class addadmobdemo : MonoBehaviour { //谷歌广告 插屏,视频广告修改版 void Start() { Debug.Log(“start unity demo————-“); //初始化 AdMob initAdmob(); } void Update() { if (Input.GetKeyUp(KeyCode.Escape)) { Debug.Log(KeyCode.Escape + “—————–“); } } //具体初始化逻辑 ca-app-pub-xxxx 为各类广告 ID(字符串格式) void initAdmob() { //添加 Banner 事件,以下事件可依据自身需求添加 ad.bannerEventHandler += onBannerEvent; //添加插屏广告事件 ad.interstitialEventHandler += onInterstitialEvent; //添加视频广告事件 ad.rewardedVideoEventHandler += onRewardedVideoEvent; //添加 Banner 广告 ID(左),插屏广告(右) Admob.Instance().initAdmob(“ca-app-pub-3940256099942544/2934735716”, “ca-app-pub-7816725853485153/4608868394”); //ad.setTesting(true);//展示测试广告 Admob.Instance().setGender(AdmobGender.MALE); string[] keywords = { “game”, “crash”, “male game” }; // ad.setKeywords(keywords);//设置广告关键词 Debug.Log(“admob inited ————-“); } //Banner 广告事件处理逻辑 void onBannerEvent(string eventName, string msg) { Debug.Log(“handler onAdmobBannerEvent—” + eventName + ” ” + msg); } //插屏广告事件处理逻辑 void onInterstitialEvent(string eventName, string msg) { Debug.Log(“handler onAdmobEvent—” + eventName + ” ” + msg); } //视频广告事件处理逻辑,以视频逻辑为例,简单的事件处理 void onRewardedVideoEvent(string eventName, string msg) { //加载失败重新加载 if (eventName == AdmobEvent.onAdFailedToLoad) { Admob.Instance().loadRewardedVideo(“ca-app-pub-7816725853485153/8074482445”); } //视频关闭重新加载 if (eventName == AdmobEvent.onAdClosed) { Admob.Instance().loadRewardedVideo(“ca-app-pub-7816725853485153/8074482445”); } //视频奖励逻辑 if (eventName == AdmobEvent.onRewarded) { //激励视频奖励逻辑可在此处添加 } Debug.Log(“handler onRewardedVideoEvent—” + eventName + ” rewarded: ” + msg); } public void ShowInter()//插屏广告调用方法(如果已请求到广告,调用即显示广告,否则回重新请求,在下一次调用是继续此逻辑) { if (Admob.Instance().isInterstitialReady()) { Admob.Instance().showInterstitial(); } else { Admob.Instance().loadInterstitial(); } } public void ShowAedioAds()//视频广告调用方法 { if (Admob.Instance().isRewardedVideoReady()) { Admob.Instance().showRewardedVideo(); } } public void ShowBannerAds()//Banner 广告调用方法 { Admob.Instance().showBannerRelative(AdSize.SmartBanner, AdPosition.BOTTOM_CENTER, 0); }}
上述代码是我所做的修改,新手可直接复用,仅需将对应的广告 ID 更换为自己的即可。通常挂载在项目中不会销毁的对象上就行。
下篇将会简要介绍另外一种官方的 SDK 接入谷歌广告的方法。
2 本站部分内容来源于网络,仅供学习与参考,如有侵权,请联系网站管理员删除
3 本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
4 精准获客感谢您的访问!希望本站内容对您有所帮助!
暂无评论内容