希望有人可以幫助我排除這種異常!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'方法。建議將固定更新用於物理學解釋。 –