Я работаю над игрой Android и хочу добавить рекламу AdMob в свою игру. Я добавил Banner и interstitial Views, но проблема в RewardBasedVideoAd, в частности, в событии OnAdRewarded, когда пользователь закрывает видео и возвращается в игру, чтобы немедленно заработать свою награду в игре sh.
После многих попыток я обнаружил код, который вылетает из игры, gameObject.SetActive(true)
и gameObject.SetActive(false)
, является проблемой, когда я немедленно деактивирую пользовательский интерфейс игровой панели и активный пользовательский интерфейс наградной игры cra sh.
Как мне решить эту проблему? почему игра cra sh, когда я использую gameObject.SetActive?
код, который приводит к сбою приложения
public void HandleOnAdRewarded(object sender, EventArgs args)
{
gamePanel.SetActive(false);
rewardPanel.SetActive(true);
}
запрос кода вознаграждения
public void RequestReward()
{
AdRequest request = new AdRequest().Builder().Build();
this.rewardAd.LoadAd(request, rewardAdId);
rewardAd.OnAdLoaded += this.HandleOnRewardAdLoaded;
rewardAd.OnAdRewarded += this.HandleOnAdRewarded;
rewardAd.OnAdClosed += this.HandleOnRewardAdClosed;
}
обработчики
public void HandleOnRewardAdLoaded(object sender, EventArgs args)
{
if(rewardAd.IsLoaded())
{
rewardAd.Show();
}
}
public void HandleOnAdRewarded(object sender, EventArgs args)
{
gamePanel.SetActive(false);
rewardPanel.SetActive(true);
}
public HandleOnRewardAdClosed(object sender, EventArgs args)
{
rewardAd.OnAdLoaded -= this.HandleOnRewardAdLoaded;
rewardAd.OnAdRewarded -= this.HandleOnAdRewarded;
rewardAd.OnAdClosed -= this.HandleOnRewardAdClosed;
}