max firebase/数数 广告收益上报

This commit is contained in:
juncong lee 2025-08-31 20:48:14 +08:00
parent f52eb7be05
commit 1f44d8263d
4 changed files with 62 additions and 32 deletions

View File

@ -65,7 +65,7 @@ public class AdsSDKManager : NormalSingleton<AdsSDKManager>
PlatformType result = GetBestPlatformType(false); PlatformType result = GetBestPlatformType(false);
BidPlatformManager.Instance.RecordBidSuccess(result, AdsType.Rewarded); BidPlatformManager.Instance.RecordBidSuccess(result, AdsType.Rewarded);
if (result == PlatformType.Max) if (result == PlatformType.AppLovin)
{ {
MaxAdsManager.Instance.DisplayRewarded(_adPos, _rewardCallback, _showFailedCallback); MaxAdsManager.Instance.DisplayRewarded(_adPos, _rewardCallback, _showFailedCallback);
} }
@ -77,7 +77,7 @@ public class AdsSDKManager : NormalSingleton<AdsSDKManager>
{ {
BigoAdsManager.Instance.DisplayRewarded(_adPos, _rewardCallback, _showFailedCallback); BigoAdsManager.Instance.DisplayRewarded(_adPos, _rewardCallback, _showFailedCallback);
} }
else if (result == PlatformType.Tpn) else if (result == PlatformType.Topon)
{ {
TpnAdsManager.Instance.DisplayRewarded(_adPos, _rewardCallback, _showFailedCallback); TpnAdsManager.Instance.DisplayRewarded(_adPos, _rewardCallback, _showFailedCallback);
} }
@ -112,7 +112,7 @@ public class AdsSDKManager : NormalSingleton<AdsSDKManager>
PlatformType result = GetBestPlatformType(true); PlatformType result = GetBestPlatformType(true);
BidPlatformManager.Instance.RecordBidSuccess(result, AdsType.Interstitial); BidPlatformManager.Instance.RecordBidSuccess(result, AdsType.Interstitial);
if (result == PlatformType.Max) if (result == PlatformType.AppLovin)
{ {
MaxAdsManager.Instance.DisplayInterstitial(_adPos, _IvType,_closeCallback); MaxAdsManager.Instance.DisplayInterstitial(_adPos, _IvType,_closeCallback);
} }
@ -124,7 +124,7 @@ public class AdsSDKManager : NormalSingleton<AdsSDKManager>
{ {
BigoAdsManager.Instance.DisplayInterstitial(_adPos, _IvType, _closeCallback); BigoAdsManager.Instance.DisplayInterstitial(_adPos, _IvType, _closeCallback);
} }
else if (result == PlatformType.Tpn) else if (result == PlatformType.Topon)
{ {
TpnAdsManager.Instance.DisplayInterstitial(_adPos, _IvType, _closeCallback); TpnAdsManager.Instance.DisplayInterstitial(_adPos, _IvType, _closeCallback);
} }
@ -193,10 +193,10 @@ public class AdsSDKManager : NormalSingleton<AdsSDKManager>
case PlatformType.Admob: case PlatformType.Admob:
RefreshAdmobAds(adType); RefreshAdmobAds(adType);
break; break;
case PlatformType.Tpn: case PlatformType.Topon:
RefreshTopOnAds(adType); RefreshTopOnAds(adType);
break; break;
case PlatformType.Max: case PlatformType.AppLovin:
RefreshMaxAds(adType); RefreshMaxAds(adType);
break; break;
case PlatformType.Bigo: case PlatformType.Bigo:

View File

@ -6,8 +6,8 @@ namespace DKManager.AdsSDKManager.Constant
{ {
public enum PlatformType public enum PlatformType
{ {
Max, AppLovin,
Tpn, Topon,
Admob, Admob,
Bigo, Bigo,
Kwai, Kwai,

View File

@ -1,6 +1,8 @@
using System; using System;
using System.Collections; using System.Collections;
using System.Collections.Generic; using System.Collections.Generic;
using System.Net.Security;
using Firebase.Analytics;
using Script.Common; using Script.Common;
using Script.SDKManager.AdsSDKManager.Utils; using Script.SDKManager.AdsSDKManager.Utils;
using Script.Utils; using Script.Utils;
@ -12,7 +14,7 @@ namespace Script.SDKManager.AdsSDKManager.MaxAdsManager
{ {
public class MaxAdsManager : NormalSingleton<MaxAdsManager>, IAdService public class MaxAdsManager : NormalSingleton<MaxAdsManager>, IAdService
{ {
public string ClientName => "Max"; public string ClientName => "AppLovin";
private string max_app_key; private string max_app_key;
private string max_interstitial_units; private string max_interstitial_units;
private string max_rewarded_units; private string max_rewarded_units;
@ -27,7 +29,7 @@ namespace Script.SDKManager.AdsSDKManager.MaxAdsManager
private Action<bool> _rvCloseCallback = null; private Action<bool> _rvCloseCallback = null;
private Action _ivCloseCallback = null; private Action _ivCloseCallback = null;
private Action _rvShowFailedCallback = null; private Action _rvShowFailedCallback = null;
public void Initialize() public void Initialize()
{ {
max_app_key = AdConfigParser.GetMaxAppKey(); max_app_key = AdConfigParser.GetMaxAppKey();
@ -54,7 +56,7 @@ namespace Script.SDKManager.AdsSDKManager.MaxAdsManager
#region 广 #region 广
private void InitRewardedCallback() private void InitRewardedCallback()
{ {
if (string.IsNullOrEmpty(max_rewarded_units)) return; if (string.IsNullOrEmpty(max_rewarded_units)) return;
MaxSdkCallbacks.Rewarded.OnAdLoadedEvent += OnRewardedAdLoadedEvent; MaxSdkCallbacks.Rewarded.OnAdLoadedEvent += OnRewardedAdLoadedEvent;
MaxSdkCallbacks.Rewarded.OnAdLoadFailedEvent += OnRewardedAdLoadFailedEvent; MaxSdkCallbacks.Rewarded.OnAdLoadFailedEvent += OnRewardedAdLoadFailedEvent;
@ -78,7 +80,7 @@ namespace Script.SDKManager.AdsSDKManager.MaxAdsManager
} }
public double GetRewardedRevenue() public double GetRewardedRevenue()
{ {
if (IsRewardedAvailable() && _rewardAdInfo != null) if (IsRewardedAvailable() && _rewardAdInfo != null)
{ {
return _rewardAdInfo.Revenue; return _rewardAdInfo.Revenue;
@ -87,17 +89,17 @@ namespace Script.SDKManager.AdsSDKManager.MaxAdsManager
{ {
return -1; return -1;
} }
} }
public bool IsRewardedAvailable() 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) 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); 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) 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) 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); LoggerUtils.Debug("[Max] OnInterstitialLoadedEvent network: " + adInfo.NetworkName + " revenue: " + adInfo.Revenue + " NetworkPlacement: " + adInfo.NetworkPlacement + " AdUnitIdentifier: " + adInfo.AdUnitIdentifier + " Placement: " + adInfo.Placement);
_interAdInfo = adInfo; _interAdInfo = adInfo;
_interRetryAttempt = 0; _interRetryAttempt = 0;
} }
@ -199,7 +201,7 @@ namespace Script.SDKManager.AdsSDKManager.MaxAdsManager
TimerUtils.DelayExecute((float)retryDelay, LoadInterstitial); 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); LoggerUtils.Debug("[Max] OnInterstitialAdFailedToDisplayEvent :" + errorInfo.Message + " " + errorInfo.Code + " " + errorInfo.MediatedNetworkErrorMessage + " " + errorInfo.MediatedNetworkErrorCode);
_ivCloseCallback?.Invoke(); _ivCloseCallback?.Invoke();
@ -224,7 +226,7 @@ namespace Script.SDKManager.AdsSDKManager.MaxAdsManager
private void OnInterstitialRevenue(string adunit, MaxSdkBase.AdInfo adInfo) 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); 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 #endregion
@ -232,26 +234,54 @@ namespace Script.SDKManager.AdsSDKManager.MaxAdsManager
#region 广 #region 广
public void LoadSplash() { } public void LoadSplash() { }
public bool IsSplashAvailable() { return false; } public bool IsSplashAvailable() { return false; }
public void DisplaySplash(){} public void DisplaySplash() { }
public double GetSplashRevenue() {return 0;} public double GetSplashRevenue() { return 0; }
#endregion #endregion
#region 广 #region 广
public void LoadNative(){} public void LoadNative() { }
public double GetNativeRevenue() {return 0;} public double GetNativeRevenue() { return 0; }
public void DisplayNative(NativeAdPosition position){} public void DisplayNative(NativeAdPosition position) { }
public bool IsNativeAvailable(){return false;} public bool IsNativeAvailable() { return false; }
public void RemoveNative(){} public void RemoveNative() { }
#endregion #endregion
#region 广 #region 广
public void LoadBanner(){} public void LoadBanner() { }
public bool IsBannerAvailable(){return false;} public bool IsBannerAvailable() { return false; }
public void HideBanner(){} public void HideBanner() { }
public double GetBannerRevenue(){return 0;} public double GetBannerRevenue() { return 0; }
public void DisplayBanner(){} 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 #endregion
} }
} }

View File

@ -106,8 +106,8 @@ namespace Script.SDKManager.AdsSDKManager.Utils
_bidExpireInSec = expireInSec; _bidExpireInSec = expireInSec;
_platformStates.Clear(); _platformStates.Clear();
_platformStates.Add(PlatformType.Admob, new BidPlatformState(PlatformType.Admob)); _platformStates.Add(PlatformType.Admob, new BidPlatformState(PlatformType.Admob));
_platformStates.Add(PlatformType.Tpn, new BidPlatformState(PlatformType.Tpn)); _platformStates.Add(PlatformType.Topon, new BidPlatformState(PlatformType.Topon));
_platformStates.Add(PlatformType.Max, new BidPlatformState(PlatformType.Max)); _platformStates.Add(PlatformType.AppLovin, new BidPlatformState(PlatformType.AppLovin));
_platformStates.Add(PlatformType.Bigo, new BidPlatformState(PlatformType.Bigo)); _platformStates.Add(PlatformType.Bigo, new BidPlatformState(PlatformType.Bigo));
_platformStates.Add(PlatformType.Kwai, new BidPlatformState(PlatformType.Kwai)); _platformStates.Add(PlatformType.Kwai, new BidPlatformState(PlatformType.Kwai));
} }