如何在 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 中介的主要内容,如果未能解决你的问题,请参考以下文章

在 Unity 中实现这种绘画式合成?

如何在Unity3d中实现战争迷雾效果

如何在Unity中实现定位

如何在Unity中实现物体的二段跳

如何在Unity中实现物体的二段跳

如何在Unity中实现物体的二段跳