希望有人可以帮助我排除这种异常!Admob运行时问题 - Unity/iOS版本 - 奖励广告运行一次/第二次运行导致问题
所以这里有一些背景信息:我使用的是当玩家死亡时触发的奖励广告。这会加载一个“rewardAd”弹出框,让玩家选择观看视频以获得奖励或关闭请求,并且游戏结束。在游戏的最初运行中,它完美地工作。奖励是获得额外的生命并继续玩游戏。这也工作得很好。
但是,当玩家第二次死亡时,会显示“rewardAd”弹出窗口,但当点击“播放广告”按钮时,弹出消失,使游戏处于暂停状态......从此处,仍然显示在屏幕上的暂停按钮处于活动状态,点击时会弹出“暂停”弹出菜单。如果点击恢复游戏按钮,“rewardAd”弹出窗口将再次显示...如果此时点击“播放广告”按钮,广告将再次运行。
所以这个问题看起来会在玩家第一次死的时候运行广告,但是第二次只会让游戏处于暂停状态......除非您点击暂停按钮来弹出“暂停”弹出菜单,然后从该菜单中重新恢复“rewardAd”弹出窗口,然后这次广告会重新加载并重新运行,并且所有操作都会重新开始。
所以我的问题是,为什么我的第二次死亡时视频广告没有正确加载,除非我暂停游戏(在其已经暂停的状态),然后恢复并获得rewardAd弹出窗口,然后它将再次投放广告。
出于某种原因,只有当“rewardAd”弹出窗口重新触发两次时,才会重新加载视频广告。
这是我为它的代码:
在播放器类:
void fixedUpdate() {
if (health == 0) {
helthSprite.fillAmount = 0f;
GameObject.Find ("RewardAdPopup").GetComponent<TweenAlpha>().PlayForward();
GeneralScript.instance.pauseGame();
}
}
现在的“rewardAdPopup”有两个按钮“播放”和“关闭”,这被挂上2种这两种方法,分别在GeneralScript类:
public void showAd()
{
isRewarded = false;
Admob.Instance().loadRewardedVideo ("ca-app-pub-3917955116464255/1873040720");
Admob.Instance().rewardedVideoEventHandler += onRewardVideoEvent;
if (Admob.Instance().isRewardedVideoReady()) {
Admob.Instance().showRewardedVideo();
}
}
public void adDeclined()
{
Bird.instance.showGameOverPopup();
}
现在我也有在“开始”法“loadVideo”实例(底部) - 否则,视频将不会加载甚至第一次:
void Start()
{
instance = this;
if (Application.loadedLevelName.Equals ("GameScene")) {
InvokeRepeating ("IncreseSpeed", 0f, GameManager.MaxSpawnTime);
}
checkSound();
Admob.Instance().loadRewardedVideo ("ca-app-pub-3917955116464255/1873040720");
}
最后,在“onRewardVideoEventMethod”:
void onRewardVideoEvent(string eventName, string message) {
if (eventName == AdmobEvent.onAdClosed) {
print ("Ad Closed");
if (isRewarded) {
print ("ad watched");
Bird.instance.health = GameManager.curBirdHealth;
resumeGame();
} else {
adDeclined();
}
} else if (eventName == AdmobEvent.onRewarded) {
print ("Ad Rewarded");
isRewarded = true;
} else if (eventName == AdmobEvent.adViewWillDismissScreen) {
if (isRewarded) {
print("ad dismissed");
Bird.instance.health = GameManager.curBirdHealth;
resumeGame();
}
}
}
我的地方敢肯定,就在于这里的问题...有可能它的“播放”按钮的“点击”设置做在UI Button脚本下的Unity Inspector中,但我不确定。
任何帮助将不胜感激!这难倒了我...
好的,谢谢。我对这一切都很陌生,所以我的技术非常业余。所以要解决这个问题,它会使用“ - =”而不是“+ =”吗? –
另外,如果玩家不在“健康= 0”的地方死亡,我将如何构建调用“RewardAdPopup”的结构?哪个位于“fixedUpdate”中。 –
@MishoMilicevic在Unity中有'Update'方法和'FixedUpdate'方法。建议将固定更新用于物理学解释。 –