在 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 native,另一个称为 Advanced native。现在 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 作为广告中介不需要额外的代码。
一般来说,一个游戏加一两个适配广告就够了,太多会影响游戏的性能和体验