Unity中接入原生广告(UnityAds)和 GoogleAdmob 和 Vungle
来源:互联网 发布:python决策树结构 编辑:程序博客网 时间:2024/06/06 18:41
Unity3d中接入三种广告的实现:原生的UnityAds、谷歌的GoogleAdmob
一、UnityAds的实现
工程版本:Unity5.4.3(5.1以下需要下载插件)
在Window-Services中将Ads开启,Unity将自动生成ios与android的广告id(在Advanced中),没有就去官网找,百度搜UnityAds;
在settings中可选择 测试模式Test mode(方便development中测试广告),真正使用时要取消测试模式,否则一直都会是测试广告;
在code samples中可参考代码;
在想要显示广告的地方添加脚本调用就可以了;
code demo: using UnityEngine; using System.Collections; using UnityEngine.Advertisements;//引入命名空间 public class UnityAds : MonoBehaviour { public string iosid = ""; public string adandroidid = ""; public static UnityAds instance; void Awake() { instance = this; } void Start() //初始化 { Advertisement.Initialize(iosid或者adandroidid);//初始化 Debug.Log("初始化"); } public void OnClick() { if (Advertisement.IsReady())//如果广告加载完毕(加载广告也需要时间) { UnityAdsRewardAd("rewardedVideo");//播放广告,参数填你在官网上的广告订单中的标志语(网太卡进不去官网,记不得叫什么了,反正就是你申请个广告,他会给你个订单一样的东西,里面可以设置广告的类型,ios和android的id也在里面) } else { Debug.Log("failed");//这时可以选择弹出一个UI提醒用户无网络连接或者其他导致播放失败 } } public void UnityAdsRewardAd(string zone) //原生奖励广告 { ShowOptions options = new ShowOptions(); if (Advertisement.IsReady()) { Advertisement.Show(zone, options);//给zone(广告类型)添加回调 Debug.Log("UnityAdsShowSuccess"); } else { Debug.Log("UnityAdsFailed"); } options.resultCallback = HandleShowResult;//回调函数 } public void HandleShowResult(ShowResult result) //原生奖励广告回调函数 { switch (result)//广告播放的结果,导致接下来的事件 { case ShowResult.Finished://播放完成 Debug.Log("The ad was successfully shown."); 这里写你的奖励代码,比如看完广告加点钱,下同; break; case ShowResult.Skipped://广告中途关闭 Debug.Log("The ad was skipped before reaching the end."); //可以添加UI提示用户没有完成观看,无法得到奖励,下同 break; case ShowResult.Failed://广告播放失败 Debug.Log("The ad failed to be shown."); break; } }
具体实现还请看官方文档。
二、GoogleAdmob的实现
注册Google账号以注册广告单元得到广告ID,需翻墙;
code demo:using UnityEngine;using System.Collections;using GoogleMobileAds.Api;//引入命名空间public class GoogleAd : MonoBehaviour{ private BannerView bannerView; //横幅广告 private InterstitialAd ad; //插屏广告 public static GoogleAd instance; //单例模式 void Awake() { instance = this; } void Start() //初始化 { InitBannerAd(); //横幅广告初始化函数调用 InitializeGoogleAd(); //插屏广告初始化函数调用 Debug.Log("初始化"); } public void OnClick() { GoogleAdsShow(); //播放广告 } public void InitBannerAd() //谷歌横幅初始化函数 { string adUnitId = "ca-app-pub-3940256099942544/1033173712"; //横幅广告ID bannerView = new BannerView(adUnitId, AdSize.SmartBanner, AdPosition.Top); //横幅广告实例化(三个参数为:ID、大小、位置) AdRequest request = new AdRequest.Builder().Build(); bannerView.LoadAd(request); //横幅广告比较特殊,不用Show()方法,加载完成直接播放(流氓广告) } void InitializeGoogleAd() //谷歌全屏初始化函数 { string adUnitId = "ca-app-pub-3940256099942544/1033173712"; //全屏广告ID ad = new InterstitialAd(adUnitId); //实例化 AdRequest request = new AdRequest.Builder().Build(); ad.LoadAd(request); //加载 } public void GoogleAdsShow() //谷歌广告播放函数 { if (ad.IsLoaded()) //判断广告是否加载完毕 { ad.Show(); //播放广告 Debug.Log("googleadsSuccess"); } else { Debug.Log("failed."); } }}
具体实现还请看官方文档。
三、Vungle广告的实现
去官网找Unity的广告插件,下载并导入Unity工程
code demo:using UnityEngine;using System.Collections;public class VungleAd : MonoBehaviour{ public static VungleAd instance; void Awake() { instance = this; } void Start() //初始化 { Vungle.init("Test_Android", "Test_iOS", "vungleTest"); //参数请看官方文档 Debug.Log("初始化"); } public void OnClick() { if (Vungle.isAdvertAvailable()) //如果广告加载完毕 { VungleShow(); //播放广告函数调用 } else { Debug.Log("failed"); } } public void VungleShow() { Vungle.playAd(); //播放广告 } void OnApplicationPause(bool pauseStatus) //有需要可以设置暂停操作 { if (pauseStatus) { Vungle.onPause(); } else { Vungle.onResume(); } } void onAdFinishedEvent(AdFinishedEventArgs arg) { Debug.Log("onAdFinishedEvent. watched: " + arg.TimeWatched + ", length: " + arg.TotalDuration + ", isCompletedView: " + arg.IsCompletedView); 这里写奖励回调,回调在OnEnable里触发,用完要及时OnDisable,否则会重叠触发 }
void OnEnable() //回调 { Vungle.onAdFinishedEvent += onAdFinishedEvent; } void OnDisable() // 结束回调,必需,否则会重复回调 { Vungle.onAdFinishedEvent -= onAdFinishedEvent; }}
具体实现还请看官方文档。
阅读全文
0 0
- Unity中接入原生广告(UnityAds)和 GoogleAdmob 和 Vungle
- 在Unity中添加UnityAds广告
- Unity 接入Vungle
- Vungle 视频广告接入踩坑记
- unity3d学习日记:接入UnityAds平台广告
- Unity添加Vungle广告的方式
- Unityads安卓接入
- OPPO(畅思安卓)广告sdk接入unity工程遇到的一些错误和解决方案
- Unity接入谷歌广告
- 广点通sdk接入 _原生广告
- Unity接入Admob广告教程IOS篇
- Unity接入百度广告教程android篇
- Unity接入百度广告教程IOS篇
- Unity游戏接入百度移动广告
- Unity APP接入百度移动广告
- Unity游戏接入百度移动广告
- unity接入百度广告教程ios篇
- Unity游戏接入百度移动广告
- Java集合学习笔记(通过比较器对集合元素排序)
- 集合框架中有哪类是线程安全的
- 【几行代码】在VRTK中合并Teleport和Rotate操作
- github
- 树的前序遍历、中序遍历与后序遍历的互相求解
- Unity中接入原生广告(UnityAds)和 GoogleAdmob 和 Vungle
- CMake学习(一)
- Linux下搭建gre隧道
- UDP协议的发送端的基本代码
- Django-CSRF的理解
- HashMap原理及put与get方法调用过程
- 机器人技术(7)AtdRobot六自由度机械臂控制教程
- 前端模块化开发方案小对比
- 有关推挽输出、开漏输出、复用开漏输出、复用推挽输出以及上拉输入、下拉输入、浮空输入、模拟输入区别