admob 广告行为事件上报

This commit is contained in:
juncong lee 2025-09-01 16:57:50 +08:00
parent e76cb79387
commit 937749168d
5 changed files with 120 additions and 84 deletions

View File

@ -4,8 +4,10 @@ using System.Diagnostics;
using GoogleMobileAds.Api; using GoogleMobileAds.Api;
using Script.Common; using Script.Common;
using Script.SDKManager.AdsSDKManager.Constant; using Script.SDKManager.AdsSDKManager.Constant;
using Script.SDKManager.AdsSDKManager.Events.AdsEvents;
using Script.SDKManager.AdsSDKManager.Utils; using Script.SDKManager.AdsSDKManager.Utils;
using Script.Utils; using Script.Utils;
using UnityEngine;
namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager
@ -25,14 +27,17 @@ namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager
private List<string> _nativeAdUnits = new List<string>(); private List<string> _nativeAdUnits = new List<string>();
private List<string> _splashAdUnits = new List<string>(); private List<string> _splashAdUnits = new List<string>();
private List<string> _bannerAdUnits = new List<string>(); private List<string> _bannerAdUnits = new List<string>();
private string _rvPos; private string _rvPos;
private string _ivPos; private string _ivPos;
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;
private bool _initialized; private bool _initialized;
private float _rvStartLoadTime = 0;
private float _ivStartLoadTime = 0;
private float _nvStartLoadTime = 0;
private float _bvStartLoadTime = 0;
private float _spStartLoadTime = 0;
public void Initialize() public void Initialize()
{ {
@ -44,21 +49,11 @@ namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager
_rewardedAdUnits = AdConfigParser.GetAdmobAdUnits(AdsType.Rewarded); _rewardedAdUnits = AdConfigParser.GetAdmobAdUnits(AdsType.Rewarded);
MobileAds.Initialize(initStatus => MobileAds.Initialize(initStatus =>
{ {
if (_bannerAdUnits.Count > 0) if (_bannerAdUnits.Count > 0) LoadBanner();
{
_admobBannerAdManager = new AdmobBannerAdManager();
_admobBannerAdManager.InitializeAdUnits(BannerAliignType.BannerCenterBottomAlign,
_bannerAdUnits,
OnBannerAdLoaded,
OnBannerAdLoadFailed,
OnBannerAdPaid,
OnBannerAdClicked
);
}
if (_interstitialAdUnits.Count > 0) LoadInterstitial(); if (_interstitialAdUnits.Count > 0) LoadInterstitial();
if (_rewardedAdUnits.Count > 0) LoadRewarded(); if (_rewardedAdUnits.Count > 0) LoadRewarded();
if (_splashAdUnits.Count > 0) LoadSplash();
LoadSplash();
_initialized = true; _initialized = true;
LoggerUtils.Debug("[Admob] init success"); LoggerUtils.Debug("[Admob] init success");
}); });
@ -68,8 +63,8 @@ namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager
#region 广 #region 广
public void LoadRewarded() public void LoadRewarded()
{ {
_admobRewardedAdManager?.Destroy();
_admobRewardedAdManager = new AdmobRewardedAdManager(); _admobRewardedAdManager = new AdmobRewardedAdManager();
_admobRewardedAdManager.Destroy();
_admobRewardedAdManager.InitializeAdUnits( _admobRewardedAdManager.InitializeAdUnits(
_rewardedAdUnits, _rewardedAdUnits,
OnRewardedAdLoaded, OnRewardedAdLoaded,
@ -80,6 +75,8 @@ namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager
OnRewardAdPaid, OnRewardAdPaid,
OnRewardedAdClicked OnRewardedAdClicked
); );
_rvStartLoadTime = Time.realtimeSinceStartup;
AdsActionEvents.TrackAdStartLoad(Platfrom,"","",AdsType.Rewarded);
} }
public void DisplayRewarded(string adPos, Action<bool> rewardCallback = null, Action showFailedCallback = null) public void DisplayRewarded(string adPos, Action<bool> rewardCallback = null, Action showFailedCallback = null)
{ {
@ -100,14 +97,14 @@ namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager
return _admobRewardedAdManager.GetAvailableAdUnits().Count > 0; return _admobRewardedAdManager.GetAvailableAdUnits().Count > 0;
} }
private void OnRewardedAdLoaded(string adUnitId) private void OnRewardedAdLoaded(string adSource,string adUnitId)
{ {
AdsActionEvents.TrackAdLoaded(Platfrom,adSource,adUnitId,AdsType.Rewarded,Time.realtimeSinceStartup - _rvStartLoadTime);
} }
private void OnRewardedAdLoadFailed(string adUnitId, int errorCode, string errorMsg) private void OnRewardedAdLoadFailed(string adUnitId, int errorCode, string errorMsg)
{ {
AdsActionEvents.TrackAdFailToLoad(Platfrom,"","",AdsType.Rewarded,Time.realtimeSinceStartup - _rvStartLoadTime,errorMsg);
} }
private void OnRewardedAdShowed(string adUnitId) private void OnRewardedAdShowed(string adUnitId)
@ -115,9 +112,9 @@ namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager
} }
private void OnRewardedAdDismissed(string adUnitId) private void OnRewardedAdDismissed(string adSource,string adUnitId,double revenue)
{ {
AdsActionEvents.TrackAdClosed(Platfrom,adSource,adUnitId,AdsType.Rewarded,_rvPos,revenue);
_rvCloseCallback?.Invoke(true); _rvCloseCallback?.Invoke(true);
_rvCloseCallback = null; _rvCloseCallback = null;
LoadRewarded(); LoadRewarded();
@ -128,11 +125,12 @@ namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager
_rvShowFailedCallback?.Invoke(); _rvShowFailedCallback?.Invoke();
_rvShowFailedCallback = null; _rvShowFailedCallback = null;
LoadRewarded(); LoadRewarded();
AdsActionEvents.TrackAdFailToShow(Platfrom,AdsType.Rewarded,errorMsg,_rvPos);
} }
private void OnRewardedAdClicked(string adUnitId) private void OnRewardedAdClicked(string adSource,string adUnitId,double revenue)
{ {
AdsActionEvents.TrackAdClicked(Platfrom,adSource,adUnitId,AdsType.Rewarded,_rvPos,revenue);
} }
private void OnRewardAdPaid(AdValue adValue) private void OnRewardAdPaid(AdValue adValue)
@ -145,8 +143,8 @@ namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager
#region 广 #region 广
public void LoadInterstitial() public void LoadInterstitial()
{ {
_admobBannerAdManager?.Destroy();
_admobInterstitialAdManager = new AdmobInterstitialAdManager(); _admobInterstitialAdManager = new AdmobInterstitialAdManager();
_admobInterstitialAdManager.Destroy();
_admobInterstitialAdManager.InitializeAdUnits( _admobInterstitialAdManager.InitializeAdUnits(
_interstitialAdUnits, _interstitialAdUnits,
OnInterstitialAdLoaded, OnInterstitialAdLoaded,
@ -157,6 +155,8 @@ namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager
OnInterstitialAdPaid, OnInterstitialAdPaid,
OnInterstitialAdClicked OnInterstitialAdClicked
); );
_ivStartLoadTime = Time.realtimeSinceStartup;
AdsActionEvents.TrackAdStartLoad(Platfrom,"","",AdsType.Interstitial);
} }
public double GetInterstitialRevenue() public double GetInterstitialRevenue()
{ {
@ -176,18 +176,18 @@ namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager
return _admobInterstitialAdManager.GetAvailableAdUnits().Count > 0; return _admobInterstitialAdManager.GetAvailableAdUnits().Count > 0;
} }
private void OnInterstitialAdLoaded(string adUnitId) private void OnInterstitialAdLoaded(string adSource,string adUnitId)
{ {
AdsActionEvents.TrackAdLoaded(Platfrom,adSource,adUnitId,AdsType.Interstitial,Time.realtimeSinceStartup - _ivStartLoadTime);
} }
private void OnInterstitialAdLoadFailed(string adUnitId, int errorCode, string errorMsg) private void OnInterstitialAdLoadFailed(string adUnitId, int errorCode, string errorMsg)
{ {
AdsActionEvents.TrackAdFailToLoad(Platfrom,"","",AdsType.Interstitial,Time.realtimeSinceStartup - _ivStartLoadTime,errorMsg);
} }
private void OnInterstitialAdClicked(string adUnitId) private void OnInterstitialAdClicked(string adSource,string adUnitId,double revenue)
{ {
AdsActionEvents.TrackAdClicked(Platfrom, adSource, adUnitId, AdsType.Interstitial, "", revenue);
} }
private void OnInterstitialAdPaid(AdValue adValue) private void OnInterstitialAdPaid(AdValue adValue)
@ -200,8 +200,9 @@ namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager
} }
private void OnInterstitialAdDismissed(string adUnitId) private void OnInterstitialAdDismissed(string adSource,string adUnitId,double revenue)
{ {
AdsActionEvents.TrackAdClosed(Platfrom, adSource, adUnitId, AdsType.Interstitial, "", revenue);
_ivCloseCallback?.Invoke(); _ivCloseCallback?.Invoke();
_ivCloseCallback = null; _ivCloseCallback = null;
LoadInterstitial(); LoadInterstitial();
@ -209,6 +210,7 @@ namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager
private void OnInterstitialAdError(string adUnitId, int errorCode, string errorMsg) private void OnInterstitialAdError(string adUnitId, int errorCode, string errorMsg)
{ {
AdsActionEvents.TrackAdFailToShow(Platfrom,AdsType.Interstitial,errorMsg,"");
_ivCloseCallback?.Invoke(); _ivCloseCallback?.Invoke();
_ivCloseCallback = null; _ivCloseCallback = null;
LoadInterstitial(); LoadInterstitial();
@ -220,8 +222,8 @@ namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager
#region 广 #region 广
public void LoadSplash() public void LoadSplash()
{ {
_admobSplashAdManager?.Destroy();
_admobSplashAdManager = new AdmobSplashAdManager(); _admobSplashAdManager = new AdmobSplashAdManager();
_admobSplashAdManager.Destroy();
_admobSplashAdManager.InitializeAdUnits( _admobSplashAdManager.InitializeAdUnits(
_splashAdUnits, _splashAdUnits,
OnSplashAdLoaded, OnSplashAdLoaded,
@ -232,6 +234,8 @@ namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager
OnSplashAdPaid, OnSplashAdPaid,
OnSplashAdClicked OnSplashAdClicked
); );
_spStartLoadTime = Time.realtimeSinceStartup;
AdsActionEvents.TrackAdStartLoad(Platfrom,"","",AdsType.Splash);
} }
public bool IsSplashAvailable() public bool IsSplashAvailable()
@ -249,14 +253,14 @@ namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager
return _admobSplashAdManager.GetHighestPayingAdRevenue(); return _admobSplashAdManager.GetHighestPayingAdRevenue();
} }
private void OnSplashAdLoaded(string adUnitId) private void OnSplashAdLoaded(string adSource,string adUnitId)
{ {
AdsActionEvents.TrackAdLoaded(Platfrom,adSource,adUnitId,AdsType.Splash,Time.realtimeSinceStartup - _spStartLoadTime);
} }
private void OnSplashAdLoadFailed(string adUnitId, int errorCode, string errorMsg) private void OnSplashAdLoadFailed(string adUnitId, int errorCode, string errorMsg)
{ {
AdsActionEvents.TrackAdFailToLoad(Platfrom,"","",AdsType.Splash,Time.realtimeSinceStartup - _spStartLoadTime,errorMsg);
} }
private void OnSplashAdShowed(string adUnitId) private void OnSplashAdShowed(string adUnitId)
@ -264,20 +268,19 @@ namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager
} }
private void OnSplashAdDismissed(string adUnitId) private void OnSplashAdDismissed(string adSource,string adUnitId,double revenue)
{ {
AdsActionEvents.TrackAdClosed(Platfrom, adSource, adUnitId, AdsType.Splash, "", revenue);
} }
private void OnSplashAdError(string adUnitId, int errorCode, string errorMsg) private void OnSplashAdError(string adUnitId, int errorCode, string errorMsg)
{ {
AdsActionEvents.TrackAdFailToShow(Platfrom,AdsType.Splash,errorMsg,"");
} }
private void OnSplashAdClicked(string adUnitId) private void OnSplashAdClicked(string adSource,string adUnitId,double revenue)
{ {
AdsActionEvents.TrackAdClicked(Platfrom,adSource,adUnitId,AdsType.Splash,"",revenue);
} }
private void OnSplashAdPaid(AdValue adValue) private void OnSplashAdPaid(AdValue adValue)
@ -316,10 +319,17 @@ namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager
#region 广 #region 广
public void LoadBanner() public void LoadBanner()
{ {
foreach (var adUnitId in _bannerAdUnits) _admobBannerAdManager?.Destroy();
{ _admobBannerAdManager = new AdmobBannerAdManager();
_admobBannerAdManager.LoadAd(adUnitId); _admobBannerAdManager.InitializeAdUnits(BannerAliignType.BannerCenterBottomAlign,
} _bannerAdUnits,
OnBannerAdLoaded,
OnBannerAdLoadFailed,
OnBannerAdPaid,
OnBannerAdClicked
);
_bvStartLoadTime = Time.realtimeSinceStartup;
AdsActionEvents.TrackAdStartLoad(Platfrom,"","",AdsType.Banner);
} }
public bool IsBannerAvailable() public bool IsBannerAvailable()
@ -342,20 +352,20 @@ namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager
_admobBannerAdManager.ShowHighestPayingAd(); _admobBannerAdManager.ShowHighestPayingAd();
} }
private void OnBannerAdLoaded(string adUnitId) private void OnBannerAdLoaded(string adSource,string adUnitId)
{ {
AdsActionEvents.TrackAdLoaded(Platfrom,adSource,adUnitId,AdsType.Banner,Time.realtimeSinceStartup - _bvStartLoadTime);
} }
private void OnBannerAdLoadFailed(string adUnitId, int errorCode, string errorMsg) private void OnBannerAdLoadFailed(string adUnitId, int errorCode, string errorMsg)
{ {
AdsActionEvents.TrackAdFailToLoad(Platfrom,"","",AdsType.Banner,Time.realtimeSinceStartup - _bvStartLoadTime,errorMsg);
} }
private void OnBannerAdClicked() private void OnBannerAdClicked(string adSource,string adUnitId,double revenue)
{ {
AdsActionEvents.TrackAdClicked(Platfrom,adSource,adUnitId,AdsType.Banner,"",revenue);
} }
private void OnBannerAdPaid(AdValue adValue) private void OnBannerAdPaid(AdValue adValue)
@ -374,17 +384,21 @@ namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager
FireBaseAnalyticsManager.Instance.OnAdRevenueEvent(PlatformType.Admob.ToString(), FireBaseAnalyticsManager.Instance.OnAdRevenueEvent(PlatformType.Admob.ToString(),
loadedAdapterResponseInfo.AdSourceName, loadedAdapterResponseInfo.AdSourceName,
placement, type, placement,
type,
adValue.Value / 1000000f, adValue.Value / 1000000f,
type == AdsType.Rewarded ? _rvPos : "", type == AdsType.Rewarded ? _rvPos : "",
AdPlayCountManager.GetAdPlayCount(type)); AdPlayCountManager.GetAdPlayCount(type));
ShuShuEvent.Instance.OnAdRevenueEvent(PlatformType.Admob.ToString(), ShuShuEvent.Instance.OnAdRevenueEvent(PlatformType.Admob.ToString(),
loadedAdapterResponseInfo.AdSourceName, loadedAdapterResponseInfo.AdSourceName,
placement, type.ToString(), placement,
type.ToString(),
adValue.Value / 1000000f, adValue.Value / 1000000f,
type == AdsType.Rewarded ? _rvPos : "", type == AdsType.Rewarded ? _rvPos : "",
AdPlayCountManager.GetAdPlayCount(type)); AdPlayCountManager.GetAdPlayCount(type));
AdsActionEvents.TrackAdImpression(Platfrom,loadedAdapterResponseInfo.AdSourceName,placement,type,type == AdsType.Rewarded ? _rvPos : "",adValue.Value / 1000000f);
} }
#endregion #endregion

View File

@ -16,10 +16,10 @@ namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager
private Dictionary<string, double> _adRevenueCache = new Dictionary<string, double>(); private Dictionary<string, double> _adRevenueCache = new Dictionary<string, double>();
public void InitializeAdUnits(BannerAliignType type, List<string> adUnitIds, public void InitializeAdUnits(BannerAliignType type, List<string> adUnitIds,
Action<string> onAdLoaded = null, Action<string,string> onAdLoaded = null,
Action<string,int, string> onAdLoadFailed = null, Action<string,int, string> onAdLoadFailed = null,
Action<AdValue> OnAdPaid = null, Action<AdValue> OnAdPaid = null,
Action onAdClicked = null) Action<string,string,double> onAdClicked = null)
{ {
foreach (var adUnitId in adUnitIds) foreach (var adUnitId in adUnitIds)
{ {
@ -27,10 +27,11 @@ namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager
} }
} }
private void CreateRewardedAd(BannerAliignType type,string adUnitId, Action<string> onAdLoaded, private void CreateRewardedAd(BannerAliignType type,string adUnitId,
Action<string,string> onAdLoaded,
Action<string,int, string> onAdLoadFailed, Action<string,int, string> onAdLoadFailed,
Action<AdValue> OnAdPaid, Action<AdValue> OnAdPaid,
Action onAdClicked) Action<string,string,double> onAdClicked)
{ {
if (_bannerAds.ContainsKey(adUnitId)) if (_bannerAds.ContainsKey(adUnitId))
{ {
@ -48,7 +49,8 @@ namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager
_retryCounters[adUnitId] = 0; _retryCounters[adUnitId] = 0;
_adRevenueCache[adUnitId] = AdmobUtils.GetBannerEcpm(bannerAds); _adRevenueCache[adUnitId] = AdmobUtils.GetBannerEcpm(bannerAds);
LoggerUtils.Debug($"[Admob] banner -[Load]: {adUnitId} successfully"); LoggerUtils.Debug($"[Admob] banner -[Load]: {adUnitId} successfully");
onAdLoaded?.Invoke(adUnitId); onAdLoaded?.Invoke(bannerAds.GetResponseInfo().GetLoadedAdapterResponseInfo().AdSourceName,
AdmobUtils.ParseResponseInfo(bannerAds.GetResponseInfo()));
AdsKeyEvents.Instance.LogAdFPUEvents(AdsType.Banner); AdsKeyEvents.Instance.LogAdFPUEvents(AdsType.Banner);
}; };
@ -77,8 +79,9 @@ namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager
bannerAds.OnAdClicked += () => bannerAds.OnAdClicked += () =>
{ {
// AdsActionEvents.TrackAdClicked(PlatformType.Admob,); onAdClicked?.Invoke(bannerAds.GetResponseInfo().GetLoadedAdapterResponseInfo().AdSourceName,
onAdClicked?.Invoke(); AdmobUtils.ParseResponseInfo(bannerAds.GetResponseInfo()),
AdmobUtils.GetBannerEcpm(bannerAds));
}; };
LoadAd(adUnitId); LoadAd(adUnitId);
} }

View File

@ -13,13 +13,14 @@ namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager
private Dictionary<string, InterstitialAd> _interstitialAds = new Dictionary<string, InterstitialAd>(); private Dictionary<string, InterstitialAd> _interstitialAds = new Dictionary<string, InterstitialAd>();
private Dictionary<string, double> _adRevenueCache = new Dictionary<string, double>(); private Dictionary<string, double> _adRevenueCache = new Dictionary<string, double>();
public void InitializeAdUnits(List<string> adUnitIds, Action<string> onAdLoaded = null, public void InitializeAdUnits(List<string> adUnitIds,
Action<string,string> onAdLoaded = null,
Action<string, int, string> onAdLoadFailed = null, Action<string, int, string> onAdLoadFailed = null,
Action<string> onAdShowed = null, Action<string> onAdShowed = null,
Action<string> onAdDismissed = null, Action<string,string,double> onAdDismissed = null,
Action<string, int, string> onAdError = null, Action<string, int, string> onAdError = null,
Action<AdValue> onAdPaid = null, Action<AdValue> onAdPaid = null,
Action<string> onAdClicked = null) Action<string,string,double> onAdClicked = null)
{ {
foreach (var adUnitId in adUnitIds) foreach (var adUnitId in adUnitIds)
{ {
@ -27,13 +28,14 @@ namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager
} }
} }
private void CreateRewardedAd(string adUnitId, Action<string> onAdLoaded, private void CreateRewardedAd(string adUnitId,
Action<string,string> onAdLoaded,
Action<string, int, string> onAdLoadFailed, Action<string, int, string> onAdLoadFailed,
Action<string> onAdShowed, Action<string> onAdShowed,
Action<string> onAdDismissed, Action<string,string,double> onAdDismissed,
Action<string, int, string> onAdError, Action<string, int, string> onAdError,
Action<AdValue> onAdPaid, Action<AdValue> onAdPaid,
Action<string> onAdClicked) Action<string,string,double> onAdClicked)
{ {
if (_interstitialAds.ContainsKey(adUnitId)) if (_interstitialAds.ContainsKey(adUnitId))
{ {
@ -55,7 +57,8 @@ namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager
_interstitialAds[adUnitId] = ad; _interstitialAds[adUnitId] = ad;
_adRevenueCache[adUnitId] = AdmobUtils.GetInterstitialAdEcpm(ad); _adRevenueCache[adUnitId] = AdmobUtils.GetInterstitialAdEcpm(ad);
AdsKeyEvents.Instance.LogAdFPUEvents(AdsType.Interstitial); AdsKeyEvents.Instance.LogAdFPUEvents(AdsType.Interstitial);
onAdLoaded?.Invoke(adUnitId); onAdLoaded?.Invoke(ad.GetResponseInfo().GetLoadedAdapterResponseInfo().AdSourceName,
AdmobUtils.ParseResponseInfo(ad.GetResponseInfo()));
ad.OnAdPaid += (AdValue adValue) => ad.OnAdPaid += (AdValue adValue) =>
{ {
@ -76,7 +79,9 @@ namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager
ad.OnAdClicked += () => ad.OnAdClicked += () =>
{ {
LoggerUtils.Debug("[Admob] Interstitial ad was clicked."); LoggerUtils.Debug("[Admob] Interstitial ad was clicked.");
onAdClicked?.Invoke(adUnitId); onAdClicked?.Invoke(ad.GetResponseInfo().GetLoadedAdapterResponseInfo().AdSourceName,
AdmobUtils.ParseResponseInfo(ad.GetResponseInfo()),
AdmobUtils.GetInterstitialAdEcpm(ad));
}; };
ad.OnAdFullScreenContentOpened += () => ad.OnAdFullScreenContentOpened += () =>
@ -88,7 +93,7 @@ namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager
ad.OnAdFullScreenContentClosed += () => ad.OnAdFullScreenContentClosed += () =>
{ {
LoggerUtils.Debug("[Admob] Interstitial ad full screen content closed."); LoggerUtils.Debug("[Admob] Interstitial ad full screen content closed.");
onAdDismissed?.Invoke(adUnitId); onAdDismissed?.Invoke(ad.GetResponseInfo().GetLoadedAdapterResponseInfo().AdSourceName, AdmobUtils.ParseResponseInfo(ad.GetResponseInfo()), AdmobUtils.GetInterstitialAdEcpm(ad));
}; };
ad.OnAdFullScreenContentFailed += (AdError error) => ad.OnAdFullScreenContentFailed += (AdError error) =>

View File

@ -14,13 +14,14 @@ namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager
private Dictionary<string, RewardedAd> _rewardedAds = new Dictionary<string, RewardedAd>(); private Dictionary<string, RewardedAd> _rewardedAds = new Dictionary<string, RewardedAd>();
private Dictionary<string, double> _adRevenueCache = new Dictionary<string, double>(); private Dictionary<string, double> _adRevenueCache = new Dictionary<string, double>();
public void InitializeAdUnits(List<string> adUnitIds, Action<string> onAdLoaded = null, public void InitializeAdUnits(List<string> adUnitIds,
Action<string,string> onAdLoaded = null,
Action<string, int, string> onAdLoadFailed = null, Action<string, int, string> onAdLoadFailed = null,
Action<string> onAdShowed = null, Action<string> onAdShowed = null,
Action<string> onAdDismissed = null, Action<string,string,double> onAdDismissed = null,
Action<string, int, string> onAdError = null, Action<string, int, string> onAdError = null,
Action<AdValue> onAdPaid = null, Action<AdValue> onAdPaid = null,
Action<string> onAdClicked = null) Action<string,string,double> onAdClicked = null)
{ {
foreach (var adUnitId in adUnitIds) foreach (var adUnitId in adUnitIds)
{ {
@ -28,13 +29,14 @@ namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager
} }
} }
private void CreateRewardedAd(string adUnitId, Action<string> onAdLoaded, private void CreateRewardedAd(string adUnitId,
Action<string,string> onAdLoaded,
Action<string, int, string> onAdLoadFailed, Action<string, int, string> onAdLoadFailed,
Action<string> onAdShowed, Action<string> onAdShowed,
Action<string> onAdDismissed, Action<string,string,double> onAdDismissed,
Action<string, int, string> onAdError, Action<string, int, string> onAdError,
Action<AdValue> onAdPaid, Action<AdValue> onAdPaid,
Action<string> onAdClicked) Action<string,string,double> onAdClicked)
{ {
if (_rewardedAds.ContainsKey(adUnitId)) if (_rewardedAds.ContainsKey(adUnitId))
{ {
@ -55,8 +57,11 @@ namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager
LoggerUtils.Debug("[Admob] rewarded ad loaded with response : " + ad.GetResponseInfo().ToString()); LoggerUtils.Debug("[Admob] rewarded ad loaded with response : " + ad.GetResponseInfo().ToString());
_rewardedAds[adUnitId] = ad; _rewardedAds[adUnitId] = ad;
_adRevenueCache[adUnitId] = AdmobUtils.GetRewardedAdEcpm(ad); _adRevenueCache[adUnitId] = AdmobUtils.GetRewardedAdEcpm(ad);
AdsKeyEvents.Instance.LogAdFPUEvents(AdsType.Rewarded); AdsKeyEvents.Instance.LogAdFPUEvents(AdsType.Rewarded);
onAdLoaded?.Invoke(adUnitId);
onAdLoaded?.Invoke(ad.GetResponseInfo().GetLoadedAdapterResponseInfo().AdSourceName,
AdmobUtils.ParseResponseInfo(ad.GetResponseInfo()));
ad.OnAdPaid += (AdValue adValue) => ad.OnAdPaid += (AdValue adValue) =>
{ {
@ -76,7 +81,9 @@ namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager
ad.OnAdClicked += () => ad.OnAdClicked += () =>
{ {
LoggerUtils.Debug("[Admob] rewarded ad was clicked."); LoggerUtils.Debug("[Admob] rewarded ad was clicked.");
onAdClicked?.Invoke(adUnitId); onAdClicked?.Invoke(ad.GetResponseInfo().GetLoadedAdapterResponseInfo().AdSourceName,
AdmobUtils.ParseResponseInfo(ad.GetResponseInfo()),
AdmobUtils.GetRewardedAdEcpm(ad));
}; };
ad.OnAdFullScreenContentOpened += () => ad.OnAdFullScreenContentOpened += () =>
@ -88,7 +95,7 @@ namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager
ad.OnAdFullScreenContentClosed += () => ad.OnAdFullScreenContentClosed += () =>
{ {
LoggerUtils.Debug("[Admob] rewarded ad full screen content closed."); LoggerUtils.Debug("[Admob] rewarded ad full screen content closed.");
onAdDismissed?.Invoke(adUnitId); onAdDismissed?.Invoke(ad.GetResponseInfo().GetLoadedAdapterResponseInfo().AdSourceName, AdmobUtils.ParseResponseInfo(ad.GetResponseInfo()), AdmobUtils.GetRewardedAdEcpm(ad));
}; };
ad.OnAdFullScreenContentFailed += (AdError error) => ad.OnAdFullScreenContentFailed += (AdError error) =>

View File

@ -15,13 +15,14 @@ namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager
private Dictionary<string, AppOpenAd> _appOpenAds = new Dictionary<string, AppOpenAd>(); private Dictionary<string, AppOpenAd> _appOpenAds = new Dictionary<string, AppOpenAd>();
private Dictionary<string, double> _adRevenueCache = new Dictionary<string, double>(); private Dictionary<string, double> _adRevenueCache = new Dictionary<string, double>();
public void InitializeAdUnits(List<string> adUnitIds, Action<string> onAdLoaded = null, public void InitializeAdUnits(List<string> adUnitIds,
Action<string,string> onAdLoaded = null,
Action<string, int, string> onAdLoadFailed = null, Action<string, int, string> onAdLoadFailed = null,
Action<string> onAdShowed = null, Action<string> onAdShowed = null,
Action<string> onAdDismissed = null, Action<string,string,double> onAdDismissed = null,
Action<string, int, string> onAdError = null, Action<string, int, string> onAdError = null,
Action<AdValue> onAdPaid = null, Action<AdValue> onAdPaid = null,
Action<string> onAdClicked = null) Action<string,string,double> onAdClicked = null)
{ {
foreach (var adUnitId in adUnitIds) foreach (var adUnitId in adUnitIds)
{ {
@ -29,13 +30,14 @@ namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager
} }
} }
private void CreateappopenAd(string adUnitId, Action<string> onAdLoaded, private void CreateappopenAd(string adUnitId,
Action<string,string> onAdLoaded,
Action<string, int, string> onAdLoadFailed, Action<string, int, string> onAdLoadFailed,
Action<string> onAdShowed, Action<string> onAdShowed,
Action<string> onAdDismissed, Action<string,string,double> onAdDismissed,
Action<string, int, string> onAdError, Action<string, int, string> onAdError,
Action<AdValue> onAdPaid, Action<AdValue> onAdPaid,
Action<string> onAdClicked) Action<string,string,double> onAdClicked)
{ {
if (_appOpenAds.ContainsKey(adUnitId)) if (_appOpenAds.ContainsKey(adUnitId))
{ {
@ -57,7 +59,8 @@ namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager
_appOpenAds[adUnitId] = ad; _appOpenAds[adUnitId] = ad;
_adRevenueCache[adUnitId] = AdmobUtils.GetAppOpenAdEcpm(ad); _adRevenueCache[adUnitId] = AdmobUtils.GetAppOpenAdEcpm(ad);
AdsKeyEvents.Instance.LogAdFPUEvents(AdsType.Splash); AdsKeyEvents.Instance.LogAdFPUEvents(AdsType.Splash);
onAdLoaded?.Invoke(adUnitId); onAdLoaded?.Invoke(ad.GetResponseInfo().GetLoadedAdapterResponseInfo().AdSourceName,
AdmobUtils.ParseResponseInfo(ad.GetResponseInfo()));
ad.OnAdPaid += (AdValue adValue) => ad.OnAdPaid += (AdValue adValue) =>
{ {
@ -77,7 +80,9 @@ namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager
ad.OnAdClicked += () => ad.OnAdClicked += () =>
{ {
LoggerUtils.Debug("[Admob] appopen ad was clicked."); LoggerUtils.Debug("[Admob] appopen ad was clicked.");
onAdClicked?.Invoke(adUnitId); onAdClicked?.Invoke(ad.GetResponseInfo().GetLoadedAdapterResponseInfo().AdSourceName,
AdmobUtils.ParseResponseInfo(ad.GetResponseInfo()),
AdmobUtils.GetAppOpenAdEcpm(ad));
}; };
ad.OnAdFullScreenContentOpened += () => ad.OnAdFullScreenContentOpened += () =>
@ -89,7 +94,9 @@ namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager
ad.OnAdFullScreenContentClosed += () => ad.OnAdFullScreenContentClosed += () =>
{ {
LoggerUtils.Debug("[Admob] appopen ad full screen content closed."); LoggerUtils.Debug("[Admob] appopen ad full screen content closed.");
onAdDismissed?.Invoke(adUnitId); onAdDismissed?.Invoke(ad.GetResponseInfo().GetLoadedAdapterResponseInfo().AdSourceName,
AdmobUtils.ParseResponseInfo(ad.GetResponseInfo()),
AdmobUtils.GetAppOpenAdEcpm(ad));
}; };
ad.OnAdFullScreenContentFailed += (AdError error) => ad.OnAdFullScreenContentFailed += (AdError error) =>