多个 AdMob 在 android API 上使用 cocos2dx (c++) 奖励视频



我正在尝试在应用中加载多个来自 AdMob 的激励视频。它位于 cocos2d-x (C++) 上,我们扩展了原子插件广告的代码来处理 AdMob 的激励视频。这意味着我们对 Java 进行 JNI 调用来加载广告。此外,我们的整个应用程序通过 Java 端的单个活动运行 (AppActivity)。

由于谷歌的 AdMob 激励视频 API 使用单一实例对象来加载和展示广告,因此我设法自行将来自谷歌 API 的回调调度到正确的广告单元。

如何在加载一个激励视频广告的同时展示另一个激励视频广告?我的单个AppActivity只有一个Context,所以我只能从MobileAds.getRewardedVideoAdInstance(context)获得一个实例。

假设我有两个广告单元:AdUnit1 和 AdUnit2。 我已经成功加载了AdUnit1(onAdLoaded()调用)。现在,我打电话给loadAd()AdUnit2。

现在我的AdUnit1已加载,AdUnit2正在加载。那一刻,如果我调用isLoaded(),它返回 false,如果我调用show(),它什么也不做。

我怀疑单例处于"加载"的内部状态,因此不被视为已加载或准备好显示。AdUnit1 已经加载,我想显示它,但在调用show()或在 Google 的 API 中检查isLoaded()时,我无法指定广告单元。

是否可以在加载一个激励视频广告的同时展示另一个激励视频广告?还有其他选择吗?

目前无法从 AdMob 一次加载多个广告。您可以展示一个广告并开始加载下一个广告onRewardedVideoAdClosed,但这已经非常接近了。

最新更新