如何在 Unity 5.3.5 中实现 Google AdMob 中介
Posted
技术标签:
【中文标题】如何在 Unity 5.3.5 中实现 Google AdMob 中介【英文标题】:How to implement Google AdMob mediation in Unity 5.3.5 【发布时间】:2016-06-13 10:35:53 【问题描述】:我非常需要帮助我将 AdMob 设置为 Unity、android 的广告提供商,并使用 Admob 中介在游戏中接收来自其他网络的广告。
说真的,我已经“用 Google 搜索”了很长时间了。但是我已经筋疲力尽地找不到统一项目的例子、不完整的文档以及人们问我同样的问题而没有任何答复。我承认我是该主题的新手,但我已经按照我能够以更准确的方式推断出的所有步骤进行了操作。
据我所知,步骤是:
创建一个 AdMob 帐户。 创建一些其他兼容的广告网络帐户,并将其数据添加到 AdMob 帐户中。 导入 AdMob Unity 插件。 将每个其他广告网络“SDK”和“适配器”导入 Assets/Plugins 文件夹(这些文件是 .jar)。 在应用程序的特定代码中使用 Admob Unity 插件,享受来自所有网络的广告。但我只能接收 AdMob 广告,而且我没有收到来自其他网络的单纯广告。查看“logcat”和 Charlie 工具,该插件似乎没有为“非 AdMob”网络请求任何内容。
我有一些问题要问:
是否有任何关于使用 unity 5 进行广告中介的参考文档或教程? 上述这些步骤是进行调解的正确方法吗?是否缺少步骤? SDK 和适配器是否需要位于“Plugins”文件夹中?只有其中一个? 每个广告网络都需要特定的 Unity 插件,还是“.jar”文件就足够了?如果有人花时间阅读我的问题并愿意提供帮助,我将不胜感激。此外,这对于开发人员来说一定是一种常见的做法,他们中的很多人应该对 Unity 中的这种中介集成非常了解。
我真的需要帮助,因为我的工作取决于此。如果有必要,我愿意通过 PayPal 支付帮助。
请,这是我必须自己实现的,任何与购买插件相关的答案都对我没有帮助。对不起。
谢谢,最好的问候。
【问题讨论】:
关于此的任何消息。我的问题之一是我是否正确......但我仍然不确定我是否...... 我只是为您的问题找到解决方案为时已晚,但将来可能会对某人有所帮助。 gamedev.stackexchange.com/questions/146265/… 【参考方案1】:在 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 作为广告中介不需要额外的代码。
一般来说,一个游戏加一两个适配广告就够了,太多会影响游戏的性能和体验
【讨论】:
以上是关于如何在 Unity 5.3.5 中实现 Google AdMob 中介的主要内容,如果未能解决你的问题,请参考以下文章