来自 AdMob 的 Unity 奖励视频 - 加载速度太慢



以前,我使用 Unity Ads 在使用 Unity 制作的游戏中展示插页式广告和激励广告,但现在我改用 Google Ads (AdMob(。

我从这里阅读文档,从这里阅读下一个文档,一切似乎都在工作,但有点慢。

我有3个场景:

  • 主菜单
  • 游戏

我需要在游戏和商店场景中展示激励广告。在游戏场景中,用户可以观看广告以继续他死亡的地方。他只有5秒的时间。如果他不看广告,那么他可以以+25金币观看另一个广告,重新启动游戏或进入主菜单。在主菜单场景中,用户可以去商店购买更多角色,如果他观看奖励广告,他还有一个 +25 硬币的按钮。因此,激励广告有 3 个位置。

在主菜单脚本中,Start()方法中有:

MobileAds.Initialize(appId);

问题是,当用户单击主菜单场景中的"商店"按钮时,在我调用的Start()方法中

// Create an empty ad request.
AdRequest request = new AdRequest.Builder().Build();
// Load the rewarded video ad with the request.
rewardBasedVideo.LoadAd(request, adUnitId);

用户可以立即单击"查看广告"按钮,该按钮执行以下操作:

if (rewardBasedVideo.IsLoaded()) {
rewardBasedVideo.Show();
}

而且有一个问题...激励广告仍未加载,将在调用rewardBasedVideo.LoadAd(request, adUnitId);1.5 秒 - 2 秒后加载 因此,用户必须多次点击它,直到广告出现。

我检查了很多其他使用 AdMob 的游戏,每个游戏都会立即显示广告。如何?有没有办法预加载激励广告?

当死亡模态出现并且用户有 5 秒观看奖励广告直到他"完全死亡"但广告在 ~3 秒后可用时,这也是一个糟糕的用户体验。

同样在商店中,观看广告后,用户可以再次观看,因此OnAdClosed我提出了相同的逻辑来加载新广告,但它也很慢,几秒钟后广告实际加载,我测试了其他游戏 - 他们没有这个问题。

你有什么建议吗?

你需要调用

rewardBasedVideo.LoadAd(request, adUnitId);

一旦应用程序启动。 这将加载并准备广告,以便在系统提示用户观看广告时做好准备。

我通常有一个空的游戏对象,其中包含一个名为"AdManager"的脚本来加载广告。它有一个对自身的静态引用(单例模式(,所以我可以很容易地从其他脚本调用它。

这样,当应用程序启动时,广告就准备好了,当我想显示它时,我可以从任何我想的地方调用它。

关于在上一个结束后显示一个新的。除了物理上必须等到加载之外,我没有看到可行的选择。(请记住,广告在数据中可能非常大(

最新更新