From 1f44d8263db2ee15cae7b93de2c859a14f9dcb6b Mon Sep 17 00:00:00 2001 From: juncong lee Date: Sun, 31 Aug 2025 20:48:14 +0800 Subject: [PATCH] =?UTF-8?q?max=20firebase/=E6=95=B0=E6=95=B0=20=E5=B9=BF?= =?UTF-8?q?=E5=91=8A=E6=94=B6=E7=9B=8A=E4=B8=8A=E6=8A=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SDKManager/AdsSDKManager/AdsSDKManager.cs | 12 +-- .../AdsSDKManager/Constant/PlatformType.cs | 4 +- .../MaxAdsManager/MaxAdsManager.cs | 74 +++++++++++++------ .../AdsSDKManager/Utils/BidPlatformManager.cs | 4 +- 4 files changed, 62 insertions(+), 32 deletions(-) diff --git a/Assets/Script/SDKManager/AdsSDKManager/AdsSDKManager.cs b/Assets/Script/SDKManager/AdsSDKManager/AdsSDKManager.cs index c1e794f..b73fad3 100644 --- a/Assets/Script/SDKManager/AdsSDKManager/AdsSDKManager.cs +++ b/Assets/Script/SDKManager/AdsSDKManager/AdsSDKManager.cs @@ -65,7 +65,7 @@ public class AdsSDKManager : NormalSingleton PlatformType result = GetBestPlatformType(false); BidPlatformManager.Instance.RecordBidSuccess(result, AdsType.Rewarded); - if (result == PlatformType.Max) + if (result == PlatformType.AppLovin) { MaxAdsManager.Instance.DisplayRewarded(_adPos, _rewardCallback, _showFailedCallback); } @@ -77,7 +77,7 @@ public class AdsSDKManager : NormalSingleton { BigoAdsManager.Instance.DisplayRewarded(_adPos, _rewardCallback, _showFailedCallback); } - else if (result == PlatformType.Tpn) + else if (result == PlatformType.Topon) { TpnAdsManager.Instance.DisplayRewarded(_adPos, _rewardCallback, _showFailedCallback); } @@ -112,7 +112,7 @@ public class AdsSDKManager : NormalSingleton PlatformType result = GetBestPlatformType(true); BidPlatformManager.Instance.RecordBidSuccess(result, AdsType.Interstitial); - if (result == PlatformType.Max) + if (result == PlatformType.AppLovin) { MaxAdsManager.Instance.DisplayInterstitial(_adPos, _IvType,_closeCallback); } @@ -124,7 +124,7 @@ public class AdsSDKManager : NormalSingleton { BigoAdsManager.Instance.DisplayInterstitial(_adPos, _IvType, _closeCallback); } - else if (result == PlatformType.Tpn) + else if (result == PlatformType.Topon) { TpnAdsManager.Instance.DisplayInterstitial(_adPos, _IvType, _closeCallback); } @@ -193,10 +193,10 @@ public class AdsSDKManager : NormalSingleton case PlatformType.Admob: RefreshAdmobAds(adType); break; - case PlatformType.Tpn: + case PlatformType.Topon: RefreshTopOnAds(adType); break; - case PlatformType.Max: + case PlatformType.AppLovin: RefreshMaxAds(adType); break; case PlatformType.Bigo: diff --git a/Assets/Script/SDKManager/AdsSDKManager/Constant/PlatformType.cs b/Assets/Script/SDKManager/AdsSDKManager/Constant/PlatformType.cs index d25ce62..b67dd9c 100644 --- a/Assets/Script/SDKManager/AdsSDKManager/Constant/PlatformType.cs +++ b/Assets/Script/SDKManager/AdsSDKManager/Constant/PlatformType.cs @@ -6,8 +6,8 @@ namespace DKManager.AdsSDKManager.Constant { public enum PlatformType { - Max, - Tpn, + AppLovin, + Topon, Admob, Bigo, Kwai, diff --git a/Assets/Script/SDKManager/AdsSDKManager/MaxAdsManager/MaxAdsManager.cs b/Assets/Script/SDKManager/AdsSDKManager/MaxAdsManager/MaxAdsManager.cs index 2cb249c..28597f9 100644 --- a/Assets/Script/SDKManager/AdsSDKManager/MaxAdsManager/MaxAdsManager.cs +++ b/Assets/Script/SDKManager/AdsSDKManager/MaxAdsManager/MaxAdsManager.cs @@ -1,6 +1,8 @@ using System; using System.Collections; using System.Collections.Generic; +using System.Net.Security; +using Firebase.Analytics; using Script.Common; using Script.SDKManager.AdsSDKManager.Utils; using Script.Utils; @@ -12,7 +14,7 @@ namespace Script.SDKManager.AdsSDKManager.MaxAdsManager { public class MaxAdsManager : NormalSingleton, IAdService { - public string ClientName => "Max"; + public string ClientName => "AppLovin"; private string max_app_key; private string max_interstitial_units; private string max_rewarded_units; @@ -27,7 +29,7 @@ namespace Script.SDKManager.AdsSDKManager.MaxAdsManager private Action _rvCloseCallback = null; private Action _ivCloseCallback = null; private Action _rvShowFailedCallback = null; - + public void Initialize() { max_app_key = AdConfigParser.GetMaxAppKey(); @@ -54,7 +56,7 @@ namespace Script.SDKManager.AdsSDKManager.MaxAdsManager #region 激励广告功能 private void InitRewardedCallback() - { + { if (string.IsNullOrEmpty(max_rewarded_units)) return; MaxSdkCallbacks.Rewarded.OnAdLoadedEvent += OnRewardedAdLoadedEvent; MaxSdkCallbacks.Rewarded.OnAdLoadFailedEvent += OnRewardedAdLoadFailedEvent; @@ -78,7 +80,7 @@ namespace Script.SDKManager.AdsSDKManager.MaxAdsManager } public double GetRewardedRevenue() - { + { if (IsRewardedAvailable() && _rewardAdInfo != null) { return _rewardAdInfo.Revenue; @@ -87,17 +89,17 @@ namespace Script.SDKManager.AdsSDKManager.MaxAdsManager { return -1; } - } + } public bool IsRewardedAvailable() { - return string.IsNullOrEmpty(max_rewarded_units) ? false : MaxSdk.IsRewardedAdReady(max_rewarded_units);; + return string.IsNullOrEmpty(max_rewarded_units) ? false : MaxSdk.IsRewardedAdReady(max_rewarded_units); ; } private void OnRewardedRevenue(string adunit, MaxSdkBase.AdInfo adInfo) { LoggerUtils.Debug("[Max] OnRewardedRevenue network: " + adInfo.NetworkName + " revenue: " + adInfo.Revenue + " NetworkPlacement: " + adInfo.NetworkPlacement + " AdUnitIdentifier: " + adInfo.AdUnitIdentifier + " Placement: " + adInfo.Placement); - AdjustTrackEvent.Instance.TrackAdEvent(adInfo.Revenue,adInfo.NetworkName,adInfo.AdUnitIdentifier,adInfo.Placement); + TrackAdImpression(adInfo, AdsType.Rewarded); } private void OnRewardedAdLoadedEvent(string adunit, MaxSdkBase.AdInfo adInfo) @@ -186,7 +188,7 @@ namespace Script.SDKManager.AdsSDKManager.MaxAdsManager private void OnInterstitialLoadedEvent(string adunit, MaxSdkBase.AdInfo adInfo) { LoggerUtils.Debug("[Max] OnInterstitialLoadedEvent network: " + adInfo.NetworkName + " revenue: " + adInfo.Revenue + " NetworkPlacement: " + adInfo.NetworkPlacement + " AdUnitIdentifier: " + adInfo.AdUnitIdentifier + " Placement: " + adInfo.Placement); - + _interAdInfo = adInfo; _interRetryAttempt = 0; } @@ -199,7 +201,7 @@ namespace Script.SDKManager.AdsSDKManager.MaxAdsManager TimerUtils.DelayExecute((float)retryDelay, LoadInterstitial); } - private void OnInterstitialAdFailedToDisplayEvent(string adUnitId, MaxSdkBase.ErrorInfo errorInfo,MaxSdkBase.AdInfo arg3) + private void OnInterstitialAdFailedToDisplayEvent(string adUnitId, MaxSdkBase.ErrorInfo errorInfo, MaxSdkBase.AdInfo arg3) { LoggerUtils.Debug("[Max] OnInterstitialAdFailedToDisplayEvent :" + errorInfo.Message + " " + errorInfo.Code + " " + errorInfo.MediatedNetworkErrorMessage + " " + errorInfo.MediatedNetworkErrorCode); _ivCloseCallback?.Invoke(); @@ -224,7 +226,7 @@ namespace Script.SDKManager.AdsSDKManager.MaxAdsManager private void OnInterstitialRevenue(string adunit, MaxSdkBase.AdInfo adInfo) { LoggerUtils.Debug("[Max] OnInterstitialRevenue network: " + adInfo.NetworkName + " revenue: " + adInfo.Revenue + " NetworkPlacement: " + adInfo.NetworkPlacement + " AdUnitIdentifier: " + adInfo.AdUnitIdentifier + " Placement: " + adInfo.Placement); - AdjustTrackEvent.Instance.TrackAdEvent(adInfo.Revenue,adInfo.NetworkName,adInfo.AdUnitIdentifier,adInfo.Placement); + TrackAdImpression(adInfo, AdsType.Interstitial); } #endregion @@ -232,26 +234,54 @@ namespace Script.SDKManager.AdsSDKManager.MaxAdsManager #region 开屏广告功能 public void LoadSplash() { } public bool IsSplashAvailable() { return false; } - public void DisplaySplash(){} - public double GetSplashRevenue() {return 0;} + public void DisplaySplash() { } + public double GetSplashRevenue() { return 0; } #endregion #region 原生广告功能 - public void LoadNative(){} - public double GetNativeRevenue() {return 0;} - public void DisplayNative(NativeAdPosition position){} - public bool IsNativeAvailable(){return false;} - public void RemoveNative(){} + public void LoadNative() { } + public double GetNativeRevenue() { return 0; } + public void DisplayNative(NativeAdPosition position) { } + public bool IsNativeAvailable() { return false; } + public void RemoveNative() { } #endregion #region 横幅广告功能 - public void LoadBanner(){} - public bool IsBannerAvailable(){return false;} - public void HideBanner(){} - public double GetBannerRevenue(){return 0;} - public void DisplayBanner(){} + public void LoadBanner() { } + public bool IsBannerAvailable() { return false; } + public void HideBanner() { } + public double GetBannerRevenue() { return 0; } + public void DisplayBanner() { } + #endregion + + #region 广告收益上报 + public void TrackAdImpression(MaxSdkBase.AdInfo adInfo, AdsType type) + { + AdjustTrackEvent.Instance.TrackAdEvent(adInfo.Revenue, + adInfo.NetworkName, + adInfo.AdUnitIdentifier, + adInfo.Placement); + + FireBaseAnalyticsManager.Instance.OnAdRevenueEvent(ClientName, + adInfo.NetworkName, + adInfo.AdUnitIdentifier, + type.ToString(), + adInfo.Revenue, + type == AdsType.Rewarded ? _rvPos : "", + AdPlayCountManager.GetAdPlayCount(type)); + + ShuShuEvent.Instance.OnAdRevenueEvent(ClientName, + adInfo.NetworkName, + adInfo.AdUnitIdentifier, + type.ToString(), + adInfo.Revenue, + type == AdsType.Rewarded ? _rvPos : "", + AdPlayCountManager.GetAdPlayCount(type)); + } + + #endregion } } diff --git a/Assets/Script/SDKManager/AdsSDKManager/Utils/BidPlatformManager.cs b/Assets/Script/SDKManager/AdsSDKManager/Utils/BidPlatformManager.cs index 4354734..e6aee30 100644 --- a/Assets/Script/SDKManager/AdsSDKManager/Utils/BidPlatformManager.cs +++ b/Assets/Script/SDKManager/AdsSDKManager/Utils/BidPlatformManager.cs @@ -106,8 +106,8 @@ namespace Script.SDKManager.AdsSDKManager.Utils _bidExpireInSec = expireInSec; _platformStates.Clear(); _platformStates.Add(PlatformType.Admob, new BidPlatformState(PlatformType.Admob)); - _platformStates.Add(PlatformType.Tpn, new BidPlatformState(PlatformType.Tpn)); - _platformStates.Add(PlatformType.Max, new BidPlatformState(PlatformType.Max)); + _platformStates.Add(PlatformType.Topon, new BidPlatformState(PlatformType.Topon)); + _platformStates.Add(PlatformType.AppLovin, new BidPlatformState(PlatformType.AppLovin)); _platformStates.Add(PlatformType.Bigo, new BidPlatformState(PlatformType.Bigo)); _platformStates.Add(PlatformType.Kwai, new BidPlatformState(PlatformType.Kwai)); }