Unity - 我在 admob 上获得了重复的奖励 基于奖励的视频广告



所以我在我的Unity项目上添加了一个基于奖励的广告,我想奖励观看广告的用户300枚硬币,但我每次都会得到重复的奖励。我想我知道问题出在哪里,但我解决不了!

我有这个启动功能和一个在我的广告脚本上获得奖励的功能:

void Start()
{
this.rewardBasedVideoAd = RewardBasedVideoAd.Instance;
rewardBasedVideoAd.OnAdLoaded += HandleOnAdLoaded;
rewardBasedVideoAd.OnAdOpening += HandleOnAdOpening;
rewardBasedVideoAd.OnAdClosed += HandleOnAdClosed;
rewardBasedVideoAd.OnAdRewarded += HandleOnAdRewarded;
MobileAds.Initialize(initStatus => { });
this.LoadRewardBasedAd();
}
public void HandleOnAdRewarded(object sender, Reward args)
{
PlayerPrefs.SetInt("coins", PlayerPrefs.GetInt("coins") + 300);   
}

当你在游戏中死去,想重新开始时,我会打电话给SceneManager.LoadScene(0);,这是我唯一的场景!我想当我加载场景时,开始功能会再次运行,并添加另一个奖励rewardBasedVideoAd.OnAdRewarded += HandleOnAdRewarded;。我试过在不同的时刻多次拨打rewardBasedVideoAd.OnAdRewarded -= HandleOnAdRewarded;,但都没有解决问题。

如果我连续重新启动游戏n次,当我观看广告时,我将获得n次奖励!有人能帮我吗?提前谢谢!

非常确定您希望在整个游戏中只保留此GameObject的一个实例。

我会为这个游戏对象调用DontDestroyOnLoad。

我认为你需要调整你的开始功能,在你做你的事情之前,你需要看看场景中是否已经有这样的对象(只需用特定的标签标记这个游戏对象,并在开始功能中寻找带有该标签的对象(。(按照我上面附上的Unity文档中的例子。DontDestroy.cs是你需要的(

只需添加OnDestroy函数并取消订阅事件。仅此而已。

最新更新