Unity游戏中的广告是Unity游戏增加收入的重要方式。常用的广告有 Google Admob、Inmobi、chartboost、Unity 的 unityads 等,用得最多的属于 Google Admob ,所以我们在这里用 Google admob
在unity3d中显示广告我选择使用谷歌,听说填充率很高而且很公平。
Admob 包含 4 种广告格式:横幅广告、屏幕广告、激励视频广告和原生广告。
- 下载 Unity Admob 插件
插件网址https://github.com/unity-plugins/Unity-Admob
- 将 Unity Admob 插件导入 Unity 项目
从Unity编辑器asset菜单导入,注意导入插件的所有内容,demo.cs和游戏asset都是示例文件,可以导入也可以忽略,如果有同名资源要注意可能性被覆盖
- 添加 Admob 代码以请求和展示广告
打开脚本编辑器,添加脚本以调用 admob 。编写好脚本后,将脚本拖到主摄像机或舞台上的其他物体上。
Unity 中插页式广告的示例代码
Admob.Instance().initAdmob("banner id", "institial id"); //id 来自apps.admob.com Admob.Instance().loadInterstitial();
此代码初始化广告参数并请求加载广告。该广告不会立即显示,因此它不可见且没有效果。要查看广告,您需要添加显示广告的代码。
If (Admob.Instance().isInterstitialReady()) {
Admob.Instance().showInterstitial();
}else{
Admob.Instance().loadInterstitial();
}
展示广告的时间一般是在游戏通关、登录成功等不影响用户体验的时间。
测试的时候可以加个按钮,点击显示
- 在 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");
}
显示时间与插页式相似。收入的增加对用户体验影响不大。
- 在 Unity 中添加 Google Admob 原生广告 原生广告是应用内容中最合适的广告类型。您可以设置自己的广告风格,以实现与整体产品的统一和协调,新闻列表中的常见广告,游戏图片中的广告等。Admob之前包含了2个原生广告,一个叫做Express原生,另一个叫做Advanced本国的。现在 Express Native 已经取消,只剩下高级原生广告了。
这个广告插件使用 Advanced Native Ad 来实现一个显示原生广告的简单 api
Admob.Instance().showNativeBannerRelative(new AdSize(360,100), AdPosition.BOTTOM_CENTER, 0,"ca-app-pub-3940256099942544/2934735716");
相比Admob官方的api,这个api简化了很多,只定义了广告尺寸、位置、参数。
当然,如果需要修改样式,需要修改插件里面的样式文件,ios的xib文件或者android的admoblib-release.aar\res\layout\。
- 在 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);
非常非常简单,只需初始化banner广告参数,然后调用show,广告很快就会显示出来,广告的大小和位置都是默认定义的。随便选一个,很方便。
好吧,添加到 Unity 游戏中的 Google Admob 广告的演示介绍了很多。其他如 Unity Ads、Vungle、inmobi、chartboost、facebook 广告可以直接通过平台 SDK 和插件适配器添加到插件库中。在内部,使用 Admob 作为广告中介不需要额外的代码。
一般来说一个游戏加一两个适配广告就够了,太多会影响游戏的性能和体验