Unity 3D:接入原生广告(UnityAds)和 GoogleAdmob 和 Vungle
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"; //横幅广告IDbannerView = 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"; //全屏广告IDad = 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;}
}
具体实现还请看官方文档。
Unity 3D:接入原生广告(UnityAds)和 GoogleAdmob 和 Vungle相关推荐
- Unity 之 最新原生广告Ads接入 -- 助力增长游戏收益
Unity 之 最新Ads原生广告接入流程详解和工具类分享 一,注册 Unity Ads 广告 SDK 二,下载 Unity Ads 广告 SDK 三,配置 Unity Ads 广告 SDK 3.1 ...
- Unity Android接入Adtming广告聚合平台
AdTiming聚合平台SDK:这篇文章可以对SDK有个简单的认知,同时也提供了一些接入的流程,写的相对比较简单,同时版本比较低 Unity插件集成:这里有比较详细的Unity接入流程,包括Andro ...
- ADMob 原生广告展示不完全,mediaView无图片数据
最近在接goggle的广告模块,遇到一些杂七杂八的问题,在此进行一些记录. 在接入原生广告时,比如在splash 请求一个原生广告,然后缓存起来,跳转带首页展示一个原生广告,结果遇到了广告展示不完全的 ...
- Unity项目接入IOS的Admob Native(原生视频广告) IOS SDK
实现的功能与Unity项目接入Android的Admob Native(原生视频广告) SDK(二.AS导出aar)相同,但IOS的操作与Android完全不同,接入IOS的SDK大概实现流程是: 1 ...
- Unity接入原生Android穿山甲广告
最近要接入穿山甲广告,我把穿山甲广告相关的接入流程记录一下,说说最近踩过的坑,和怎么解决的问题.穿山甲Android原生广告我接入了激励视频广告,开屏广告,Banner广告,和插屏广告,我会在下文中 ...
- Unity接入穿山甲广告(使用unity插件SDK接入)看这一篇就够了
自己做的小游戏需要接广告,之前尝试过UnityAds和AdMob,但是都有点小问题.UnityAds对国内本土支持不好,Banner广告经常没有内容.Admob基本上都要对接到googlePlay,国 ...
- Unity接入穿山甲广告(使用Unity3D插件)
最近要接入穿山甲广告,我把穿山甲广告相关的接入流程记录一下,说说最近踩过的坑,和怎么解决的问题.注意我们需求是只发安卓包没有iOS的需求,本篇只介绍Unity接入安卓相关的处理(帖子是2019年底 ...
- Unity接入穿山甲广告SDK(以及GroMoreDemo)
Unity接入穿山甲广告SDK(以及GroMoreDemo) 下载安装 穿山甲官网SDK下载链接(https://www.csjplatform.com/union/media/union/downl ...
- Android FaceBook原生广告接入教程(精简版)
公司项目主要做海外市场,并且是资讯类的产品,所以接入一些广告公司的广告是一项不错的创收,昨天下午产品告诉我要马上接入Facebook的原生广告需求,于是下午就开始阅读Facebook广告接入的官方开发 ...
最新文章
- 【免费软件测试视频-0013】——Loadrunner9.0 SLA Analysis
- 使用 Nginx 搭建图片服务器
- 接近开关的初步测试 : DF-11N
- HDFS块文件和存放目录的关系
- 【动态规划】最长公共上升子序列
- 7 Steps for becoming Deep Learning Expert
- 使用USMT备份和还原用户数据
- sql server 存储过程中使用变量表,临时表的分析(续)
- python列表索引超出范围 等于啥_python中的“列表索引超出范围”
- angularjsl路由_AngularJS实现路由实例
- Android自定义控件之自定义时钟
- Win2003下Exchange2003部署图解之七
- 解决Mac装上Jetbrain系列软件(Pycharm/Idea)破解包无效导致软件启动报错
- Windows Server 2016-Hyper-V HNV 新增功能
- Building Autoencoders in Keras
- 如何用O2OA公文编辑器制作标准的红头文件?
- vc707(virtex7)led 实验例程
- 字节跳动实习面经(已拿offer附攻略)
- awk if 使用方法
- APISpace 号码实时查询API接口 免费好用