Unity3d开发集成Google Admob广告增加收入
在Unity游戏中植入广告是Unity 游戏产品增加收入的一种重要方式,常用的广告有谷歌Admob,百度ssp,腾讯广点通,unity公司的unityads等等,而使用的最多的应该属于谷歌Admob,所以我们这里以Google admob介绍下
在unity3d中展示广告我选择使用谷歌,听说回报率比较高,也比较公平。
它分了四中类型的广告:横幅广告、插屏广告、激励视频广告和原生广告。
1.下载Unity Admob插件
插件地址https://github.com/unity-plugins/Unity-Admob
2.把Unity Admob插件导入到Unity项目中
unity编辑器asset导入,注意导入的时候选择插件的所有内容,demo.cs和game asset是例子,可以导入也可以忽略,如果有资源较game了就要注意被覆盖的可能
3.加入Admob请求展示广告代码
打开脚本编辑器,加入广告调用的脚本,加入unity脚本的根据自己的逻辑和广告类型选择编写,写完了把脚本拖到主camera上或者其他常驻舞台的物体上
4.Unity中植入Admob横幅广告
横幅广告是最常见也是最简单的广告,点击率和单价比较低,但是展示比较多,收入也还是不错的,用户体验也比较好,不影响用户操作。植入横幅广告的代码
Admob.Instance().initAdmob("admob banner id", "admob interstitial id");//admob id with format ca-app-pub-279xxxxxxxx/xxxxxxxx Admob.Instance().showBannerRelative(AdSize.Banner, AdPosition.BOTTOM_CENTER, 0);
非常非常简单,只要初始化设置横幅广告参数,然后调用展示,广告很快会显示出来
广告尺寸和位置都定义好了预设,只要选择一种就好了,非常方便。
5.Unity 中加入插屏广告的例子代码
Admob.Instance().initAdmob("banner id", "institial id");//id is got from apps.admob.com Admob.Instance().loadInterstitial();
这个代码是初始化广告设置参数,并请求加载广告,广告并不会立刻展示出来,所以也就看不到,没效果。要想看到广告,需要加显示广告的代码。
if (Admob.Instance().isInterstitialReady()) { Admob.Instance().showInterstitial(); }else{ Admob.Instance().loadInterstitial(); }
而显示广告的时机一般是在游戏过关啊,登录成功啊,或者其他一些暂停性质的状况下,这样不会影响游戏的用户体验。
测试的时候可以加个按钮,点击一下展示
6.Unity中植入Google Admob原生广告
原生广告是样式和游戏App内容嵌入最贴切的一种广告,可以自己设置广告的样式达到和产品整体协调统一,常见的新闻列表中夹杂的广告,游戏图片中夹杂的广告等
Unity之前包含2中原生广告,一种叫express native,一种叫advanced native,现在express native已经被取消了,只剩下了advanced native广告了
这个广告插件是用的advanced native实现了一个快速的native植入方式,展示高级原生广告代码
Admob.Instance().showNativeBannerRelative(new AdSize(360,100), AdPosition.BOTTOM_CENTER, 0,"ca-app-pub-3940256099942544/2934735716");
相比Admob官方的集成方式,这个方式简化了非常非常多,只需要定义广告尺寸,位置和参数就行
当然,如果需要修改样式,则需要对插件里面的样式文件进行修改,ios的xib文件或者android的admoblib-release.aar\res\layout\下的文件,不过对大部分来说,上面一行代码已经够用了,无需做修改
7.Unity中植入视频奖励广告
现在视频广告和视频奖励广告也很常见,虽然对用户体验没那么好,填充也一般,但是单价比较高,有时候好好使用能增加收入不少。设置Admob视频参数并请求加载Admob的视频广告代码
Admob.Instance().loadRewardedVideo("ca-app-pub-3940256099942544/1712485313");
和插屏广告一样,需要调用展示广告才能看到视频广告
if (Admob.Instance().isRewardedVideoReady()) { Admob.Instance().showRewardedVideo(); }else{ Admob.Instance().loadRewardedVideo("ca-app-pub-3940256099942544/1712485313"); }
显示时机一般和插屏广告类似,以增加收入又不很大影响用户体验为准
好了,Google Admob广告添加到Unity游戏中的介绍介绍了很多了,其他的像Unity Ads,Vungle,inmobi,chartboost,facebook广告之类的都可以直接把平台的sdk和插件适配器加到插件的库里面,以Admob作为广告中介来统一管理,不需要额外写代码,也是非常简单。对于百度ssp,腾讯广点通之类的没有admob适配器的则用类似的上面代码来实现。
一般情况一个游戏里面加上Admob再加一俩个适配器广告就差不多了,太多也会影响游戏的性能和体验
上一篇: vue实现某元素吸顶或固定位置显示(监听滚动事件)
下一篇: Linux操作系统的安装