From 1a5d0ac88c70dd9b8cdaf6efc6d10052c266ec34 Mon Sep 17 00:00:00 2001 From: juncong lee Date: Wed, 3 Sep 2025 21:37:02 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dbigo=E5=B9=BF=E5=91=8A?= =?UTF-8?q?=E6=BA=90=E6=8F=90=E5=89=8D=E5=85=B3=E9=97=AD=E5=B9=BF=E5=91=8A?= =?UTF-8?q?=E5=90=8E=E8=8E=B7=E5=8F=96=E5=A5=96=E5=8A=B1=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BigoAdsManager/BigoAdsManager.cs | 19 ++++++++++++++----- .../BigoAdsManager/BigoRewardedAdManager.cs | 16 ++++++++++++---- 2 files changed, 26 insertions(+), 9 deletions(-) diff --git a/Assets/Script/SDKManager/AdsSDKManager/BigoAdsManager/BigoAdsManager.cs b/Assets/Script/SDKManager/AdsSDKManager/BigoAdsManager/BigoAdsManager.cs index b1da066..a0680cd 100644 --- a/Assets/Script/SDKManager/AdsSDKManager/BigoAdsManager/BigoAdsManager.cs +++ b/Assets/Script/SDKManager/AdsSDKManager/BigoAdsManager/BigoAdsManager.cs @@ -2,6 +2,7 @@ using System; using System.Collections; using System.Collections.Generic; using BigoAds.Scripts.Api; +using NUnit.Framework.Constraints; using UnityEngine; @@ -25,18 +26,19 @@ namespace WZ private float _rvStartLoadTime = 0; private float _ivStartLoadTime = 0; + private bool _receivedReward = false; public void Initialize() { - LoggerUtils.Debug("[Bigo] sdk init start"+_bigo_app_id+" rvid:"+_rewardedAdUnits+" ivid:"+_interstitialAdUnits); - if (string.IsNullOrEmpty(_bigo_app_id)|| _initialized) return; + LoggerUtils.Debug("[Bigo] sdk init start" + _bigo_app_id + " rvid:" + _rewardedAdUnits + " ivid:" + _interstitialAdUnits); + if (string.IsNullOrEmpty(_bigo_app_id) || _initialized) return; BigoAdSdk.OnInitFinish += () => { LoggerUtils.Debug($"[Bigo] sdk init success"); _initialized = true; LoadRewarded(); LoadInterstitial(); - + }; var config = new BigoAdConfig.Builder() @@ -72,12 +74,18 @@ namespace WZ private void OnRewardedAdDismissed(string adUnitId,double revenue) { AdsActionEvents.TrackAdClosed(Platfrom,ClientName, adUnitId, AdsType.Rewarded, _rvPos, revenue); - _rvCloseCallback?.Invoke(true,revenue); + _rvCloseCallback?.Invoke(_receivedReward,revenue); _rvCloseCallback = null; + _receivedReward = false; LoadRewarded(); } + private void OnRewardEarnReward(bool reward) + { + _receivedReward = true; + } + private void OnRewardedAdError(string adUnitId, int code, string msg) { AdsActionEvents.TrackAdFailToShow(Platfrom, AdsType.Rewarded, msg, _rvPos); @@ -104,7 +112,8 @@ namespace WZ onAdShowed: OnRewardedAdShowed, onAdDismissed: OnRewardedAdDismissed, onAdError: OnRewardedAdError, - onAdClicked: OnRewardedAdClicked + onAdClicked: OnRewardedAdClicked, + onEarnRewarded: OnRewardEarnReward ); _rvStartLoadTime = Time.realtimeSinceStartup; // todo 暂时支持一个广告位,后续支持多个广告位 diff --git a/Assets/Script/SDKManager/AdsSDKManager/BigoAdsManager/BigoRewardedAdManager.cs b/Assets/Script/SDKManager/AdsSDKManager/BigoAdsManager/BigoRewardedAdManager.cs index 0947ea9..95e6e68 100644 --- a/Assets/Script/SDKManager/AdsSDKManager/BigoAdsManager/BigoRewardedAdManager.cs +++ b/Assets/Script/SDKManager/AdsSDKManager/BigoAdsManager/BigoRewardedAdManager.cs @@ -19,11 +19,12 @@ namespace WZ Action onAdShowed = null, Action onAdDismissed = null, Action onAdError = null, - Action onAdClicked = null) + Action onAdClicked = null, + Action onEarnRewarded = null) { foreach (var adUnitId in adUnitIds) { - CreateRewardedAd(adUnitId, onAdLoaded, onAdLoadFailed, onAdShowed, onAdDismissed, onAdError, onAdClicked); + CreateRewardedAd(adUnitId, onAdLoaded, onAdLoadFailed, onAdShowed, onAdDismissed, onAdError, onAdClicked, onEarnRewarded); } } @@ -32,7 +33,8 @@ namespace WZ Action onAdShowed, Action onAdDismissed, Action onAdError, - Action onAdClicked) + Action onAdClicked, + Action onEarnRewarded = null) { if (_rewardedAds.ContainsKey(adUnitId)) { @@ -53,7 +55,13 @@ namespace WZ AdsKeyEvents.Instance.LogAdFPUEvents(AdsType.Rewarded); onAdLoaded?.Invoke(adUnitId); }; - + + rewardedAd.OnUserEarnedReward += () => + { + LoggerUtils.Debug("[Bigo] Rewarded-[interaction]: {adUnitId} earn reward"); + onEarnRewarded?.Invoke(true); + }; + rewardedAd.OnLoadFailed += ((code, msg) => { _retryCounters[adUnitId]++;