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相关推荐

  1. Unity 之 最新原生广告Ads接入 -- 助力增长游戏收益

    Unity 之 最新Ads原生广告接入流程详解和工具类分享 一,注册 Unity Ads 广告 SDK 二,下载 Unity Ads 广告 SDK 三,配置 Unity Ads 广告 SDK 3.1 ...

  2. Unity Android接入Adtming广告聚合平台

    AdTiming聚合平台SDK:这篇文章可以对SDK有个简单的认知,同时也提供了一些接入的流程,写的相对比较简单,同时版本比较低 Unity插件集成:这里有比较详细的Unity接入流程,包括Andro ...

  3. ADMob 原生广告展示不完全,mediaView无图片数据

    最近在接goggle的广告模块,遇到一些杂七杂八的问题,在此进行一些记录. 在接入原生广告时,比如在splash 请求一个原生广告,然后缓存起来,跳转带首页展示一个原生广告,结果遇到了广告展示不完全的 ...

  4. Unity项目接入IOS的Admob Native(原生视频广告) IOS SDK

    实现的功能与Unity项目接入Android的Admob Native(原生视频广告) SDK(二.AS导出aar)相同,但IOS的操作与Android完全不同,接入IOS的SDK大概实现流程是: 1 ...

  5. Unity接入原生Android穿山甲广告

     最近要接入穿山甲广告,我把穿山甲广告相关的接入流程记录一下,说说最近踩过的坑,和怎么解决的问题.穿山甲Android原生广告我接入了激励视频广告,开屏广告,Banner广告,和插屏广告,我会在下文中 ...

  6. Unity接入穿山甲广告(使用unity插件SDK接入)看这一篇就够了

    自己做的小游戏需要接广告,之前尝试过UnityAds和AdMob,但是都有点小问题.UnityAds对国内本土支持不好,Banner广告经常没有内容.Admob基本上都要对接到googlePlay,国 ...

  7. Unity接入穿山甲广告(使用Unity3D插件)

      最近要接入穿山甲广告,我把穿山甲广告相关的接入流程记录一下,说说最近踩过的坑,和怎么解决的问题.注意我们需求是只发安卓包没有iOS的需求,本篇只介绍Unity接入安卓相关的处理(帖子是2019年底 ...

  8. Unity接入穿山甲广告SDK(以及GroMoreDemo)

    Unity接入穿山甲广告SDK(以及GroMoreDemo) 下载安装 穿山甲官网SDK下载链接(https://www.csjplatform.com/union/media/union/downl ...

  9. Android FaceBook原生广告接入教程(精简版)

    公司项目主要做海外市场,并且是资讯类的产品,所以接入一些广告公司的广告是一项不错的创收,昨天下午产品告诉我要马上接入Facebook的原生广告需求,于是下午就开始阅读Facebook广告接入的官方开发 ...

最新文章

  1. 【免费软件测试视频-0013】——Loadrunner9.0 SLA Analysis
  2. 使用 Nginx 搭建图片服务器
  3. 接近开关的初步测试 : DF-11N
  4. HDFS块文件和存放目录的关系
  5. 【动态规划】最长公共上升子序列
  6. 7 Steps for becoming Deep Learning Expert
  7. 使用USMT备份和还原用户数据
  8. sql server 存储过程中使用变量表,临时表的分析(续)
  9. python列表索引超出范围 等于啥_python中的“列表索引超出范围”
  10. angularjsl路由_AngularJS实现路由实例
  11. Android自定义控件之自定义时钟
  12. Win2003下Exchange2003部署图解之七
  13. 解决Mac装上Jetbrain系列软件(Pycharm/Idea)破解包无效导致软件启动报错
  14. Windows Server 2016-Hyper-V HNV 新增功能
  15. Building Autoencoders in Keras
  16. 如何用O2OA公文编辑器制作标准的红头文件?
  17. vc707(virtex7)led 实验例程
  18. 字节跳动实习面经(已拿offer附攻略)
  19. awk if 使用方法
  20. APISpace 号码实时查询API接口 免费好用

热门文章

  1. 趣头条app sign
  2. 卡尔曼滤波与航迹融合
  3. 解决WebView内存泄漏【最干货】
  4. 6种原型设计工具大比对! Axure,Invision, 墨刀……哪款适合你?
  5. bbt如何制作流程图_目前是产品助理,怎样才能形成自己的产品方法论?
  6. python傻瓜瓜入门
  7. java web中的中文乱码问题和解决方法
  8. 实验六图的应用(通信网络)
  9. 《数据结构》实验报告六:图的表示与遍历
  10. 网站信息无障碍改造咨询