使用 Unity Ads SDK 上的奖励广告脚本时,我遇到了 ShowAd() IUnityAdsShowListener => OnUnityAdsShowComplete 正在逐步触发调试日志的问题。我观看的第一个广告返回一行,说明广告已完成,我观看的第二个广告会触发 2 个日志,第三个是 3 个,然后是 4 个,依此类推……好像每个 ShowAd() 都为回调订阅了一个新的监听器。这是正常的吗?
我没有使用按钮调用 ShowAd 方法,而是使用 AdsManager 类的委托(delegate)调用函数。
public delegate void OnSuccessfulAd();
private OnSuccessfulAd _myCallback = null;
public void ShowAd(OnSuccessfulAd myMethod)
{
_myCallback = myMethod;
Advertisement.Show(_adUnitId, this);
}
public void OnUnityAdsShowComplete(string adUnitId, UnityAdsShowCompletionState showCompletionState)
{
if (adUnitId.Equals(_adUnitId) && showCompletionState.Equals(UnityAdsShowCompletionState.COMPLETED))
{
Debug.Log("Unity Ads Rewarded Ad Completed"); //Gets called more times each ad
// Grant a reward.
_myCallback?.Invoke();
}
}
最佳答案
遇到同样的问题。作为临时解决方案,我在调用 _myCallback 后取消它
关于android - Unity Ads 4.0 - 奖励广告的多个 OnUnityAdsShowComplete 回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70573207/