admob 广告行为事件上报
This commit is contained in:
parent
e76cb79387
commit
937749168d
|
@ -4,8 +4,10 @@ using System.Diagnostics;
|
|||
using GoogleMobileAds.Api;
|
||||
using Script.Common;
|
||||
using Script.SDKManager.AdsSDKManager.Constant;
|
||||
using Script.SDKManager.AdsSDKManager.Events.AdsEvents;
|
||||
using Script.SDKManager.AdsSDKManager.Utils;
|
||||
using Script.Utils;
|
||||
using UnityEngine;
|
||||
|
||||
|
||||
namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager
|
||||
|
@ -25,14 +27,17 @@ namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager
|
|||
private List<string> _nativeAdUnits = new List<string>();
|
||||
private List<string> _splashAdUnits = new List<string>();
|
||||
private List<string> _bannerAdUnits = new List<string>();
|
||||
|
||||
private string _rvPos;
|
||||
private string _ivPos;
|
||||
private Action<bool> _rvCloseCallback = null;
|
||||
private Action _ivCloseCallback = null;
|
||||
private Action _rvShowFailedCallback = null;
|
||||
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()
|
||||
{
|
||||
|
@ -44,21 +49,11 @@ namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager
|
|||
_rewardedAdUnits = AdConfigParser.GetAdmobAdUnits(AdsType.Rewarded);
|
||||
MobileAds.Initialize(initStatus =>
|
||||
{
|
||||
if (_bannerAdUnits.Count > 0)
|
||||
{
|
||||
_admobBannerAdManager = new AdmobBannerAdManager();
|
||||
_admobBannerAdManager.InitializeAdUnits(BannerAliignType.BannerCenterBottomAlign,
|
||||
_bannerAdUnits,
|
||||
OnBannerAdLoaded,
|
||||
OnBannerAdLoadFailed,
|
||||
OnBannerAdPaid,
|
||||
OnBannerAdClicked
|
||||
);
|
||||
}
|
||||
if (_bannerAdUnits.Count > 0) LoadBanner();
|
||||
if (_interstitialAdUnits.Count > 0) LoadInterstitial();
|
||||
if (_rewardedAdUnits.Count > 0) LoadRewarded();
|
||||
if (_splashAdUnits.Count > 0) LoadSplash();
|
||||
|
||||
LoadSplash();
|
||||
_initialized = true;
|
||||
LoggerUtils.Debug("[Admob] init success");
|
||||
});
|
||||
|
@ -68,8 +63,8 @@ namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager
|
|||
#region 激励广告功能
|
||||
public void LoadRewarded()
|
||||
{
|
||||
_admobRewardedAdManager?.Destroy();
|
||||
_admobRewardedAdManager = new AdmobRewardedAdManager();
|
||||
_admobRewardedAdManager.Destroy();
|
||||
_admobRewardedAdManager.InitializeAdUnits(
|
||||
_rewardedAdUnits,
|
||||
OnRewardedAdLoaded,
|
||||
|
@ -80,6 +75,8 @@ namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager
|
|||
OnRewardAdPaid,
|
||||
OnRewardedAdClicked
|
||||
);
|
||||
_rvStartLoadTime = Time.realtimeSinceStartup;
|
||||
AdsActionEvents.TrackAdStartLoad(Platfrom,"","",AdsType.Rewarded);
|
||||
}
|
||||
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;
|
||||
}
|
||||
|
||||
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)
|
||||
{
|
||||
|
||||
AdsActionEvents.TrackAdFailToLoad(Platfrom,"","",AdsType.Rewarded,Time.realtimeSinceStartup - _rvStartLoadTime,errorMsg);
|
||||
}
|
||||
|
||||
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 = null;
|
||||
LoadRewarded();
|
||||
|
@ -128,11 +125,12 @@ namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager
|
|||
_rvShowFailedCallback?.Invoke();
|
||||
_rvShowFailedCallback = null;
|
||||
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)
|
||||
|
@ -145,8 +143,8 @@ namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager
|
|||
#region 插页广告功能
|
||||
public void LoadInterstitial()
|
||||
{
|
||||
_admobBannerAdManager?.Destroy();
|
||||
_admobInterstitialAdManager = new AdmobInterstitialAdManager();
|
||||
_admobInterstitialAdManager.Destroy();
|
||||
_admobInterstitialAdManager.InitializeAdUnits(
|
||||
_interstitialAdUnits,
|
||||
OnInterstitialAdLoaded,
|
||||
|
@ -157,6 +155,8 @@ namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager
|
|||
OnInterstitialAdPaid,
|
||||
OnInterstitialAdClicked
|
||||
);
|
||||
_ivStartLoadTime = Time.realtimeSinceStartup;
|
||||
AdsActionEvents.TrackAdStartLoad(Platfrom,"","",AdsType.Interstitial);
|
||||
}
|
||||
public double GetInterstitialRevenue()
|
||||
{
|
||||
|
@ -176,18 +176,18 @@ namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager
|
|||
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)
|
||||
{
|
||||
|
||||
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)
|
||||
|
@ -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 = null;
|
||||
LoadInterstitial();
|
||||
|
@ -209,6 +210,7 @@ namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager
|
|||
|
||||
private void OnInterstitialAdError(string adUnitId, int errorCode, string errorMsg)
|
||||
{
|
||||
AdsActionEvents.TrackAdFailToShow(Platfrom,AdsType.Interstitial,errorMsg,"");
|
||||
_ivCloseCallback?.Invoke();
|
||||
_ivCloseCallback = null;
|
||||
LoadInterstitial();
|
||||
|
@ -220,8 +222,8 @@ namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager
|
|||
#region 开屏广告功能
|
||||
public void LoadSplash()
|
||||
{
|
||||
_admobSplashAdManager?.Destroy();
|
||||
_admobSplashAdManager = new AdmobSplashAdManager();
|
||||
_admobSplashAdManager.Destroy();
|
||||
_admobSplashAdManager.InitializeAdUnits(
|
||||
_splashAdUnits,
|
||||
OnSplashAdLoaded,
|
||||
|
@ -232,6 +234,8 @@ namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager
|
|||
OnSplashAdPaid,
|
||||
OnSplashAdClicked
|
||||
);
|
||||
_spStartLoadTime = Time.realtimeSinceStartup;
|
||||
AdsActionEvents.TrackAdStartLoad(Platfrom,"","",AdsType.Splash);
|
||||
}
|
||||
|
||||
public bool IsSplashAvailable()
|
||||
|
@ -249,14 +253,14 @@ namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager
|
|||
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)
|
||||
{
|
||||
|
||||
AdsActionEvents.TrackAdFailToLoad(Platfrom,"","",AdsType.Splash,Time.realtimeSinceStartup - _spStartLoadTime,errorMsg);
|
||||
}
|
||||
|
||||
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)
|
||||
{
|
||||
|
||||
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)
|
||||
|
@ -316,10 +319,17 @@ namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager
|
|||
#region 横幅广告功能
|
||||
public void LoadBanner()
|
||||
{
|
||||
foreach (var adUnitId in _bannerAdUnits)
|
||||
{
|
||||
_admobBannerAdManager.LoadAd(adUnitId);
|
||||
}
|
||||
_admobBannerAdManager?.Destroy();
|
||||
_admobBannerAdManager = new AdmobBannerAdManager();
|
||||
_admobBannerAdManager.InitializeAdUnits(BannerAliignType.BannerCenterBottomAlign,
|
||||
_bannerAdUnits,
|
||||
OnBannerAdLoaded,
|
||||
OnBannerAdLoadFailed,
|
||||
OnBannerAdPaid,
|
||||
OnBannerAdClicked
|
||||
);
|
||||
_bvStartLoadTime = Time.realtimeSinceStartup;
|
||||
AdsActionEvents.TrackAdStartLoad(Platfrom,"","",AdsType.Banner);
|
||||
}
|
||||
|
||||
public bool IsBannerAvailable()
|
||||
|
@ -342,20 +352,20 @@ namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager
|
|||
_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)
|
||||
{
|
||||
|
||||
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)
|
||||
|
@ -374,17 +384,21 @@ namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager
|
|||
|
||||
FireBaseAnalyticsManager.Instance.OnAdRevenueEvent(PlatformType.Admob.ToString(),
|
||||
loadedAdapterResponseInfo.AdSourceName,
|
||||
placement, type,
|
||||
placement,
|
||||
type,
|
||||
adValue.Value / 1000000f,
|
||||
type == AdsType.Rewarded ? _rvPos : "",
|
||||
AdPlayCountManager.GetAdPlayCount(type));
|
||||
|
||||
ShuShuEvent.Instance.OnAdRevenueEvent(PlatformType.Admob.ToString(),
|
||||
loadedAdapterResponseInfo.AdSourceName,
|
||||
placement, type.ToString(),
|
||||
placement,
|
||||
type.ToString(),
|
||||
adValue.Value / 1000000f,
|
||||
type == AdsType.Rewarded ? _rvPos : "",
|
||||
AdPlayCountManager.GetAdPlayCount(type));
|
||||
|
||||
AdsActionEvents.TrackAdImpression(Platfrom,loadedAdapterResponseInfo.AdSourceName,placement,type,type == AdsType.Rewarded ? _rvPos : "",adValue.Value / 1000000f);
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
|
|
@ -16,10 +16,10 @@ namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager
|
|||
private Dictionary<string, double> _adRevenueCache = new Dictionary<string, double>();
|
||||
|
||||
public void InitializeAdUnits(BannerAliignType type, List<string> adUnitIds,
|
||||
Action<string> onAdLoaded = null,
|
||||
Action<string,string> onAdLoaded = null,
|
||||
Action<string,int, string> onAdLoadFailed = null,
|
||||
Action<AdValue> OnAdPaid = null,
|
||||
Action onAdClicked = null)
|
||||
Action<string,string,double> onAdClicked = null)
|
||||
{
|
||||
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<AdValue> OnAdPaid,
|
||||
Action onAdClicked)
|
||||
Action<string,string,double> onAdClicked)
|
||||
{
|
||||
if (_bannerAds.ContainsKey(adUnitId))
|
||||
{
|
||||
|
@ -48,7 +49,8 @@ namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager
|
|||
_retryCounters[adUnitId] = 0;
|
||||
_adRevenueCache[adUnitId] = AdmobUtils.GetBannerEcpm(bannerAds);
|
||||
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);
|
||||
};
|
||||
|
||||
|
@ -77,8 +79,9 @@ namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager
|
|||
|
||||
bannerAds.OnAdClicked += () =>
|
||||
{
|
||||
// AdsActionEvents.TrackAdClicked(PlatformType.Admob,);
|
||||
onAdClicked?.Invoke();
|
||||
onAdClicked?.Invoke(bannerAds.GetResponseInfo().GetLoadedAdapterResponseInfo().AdSourceName,
|
||||
AdmobUtils.ParseResponseInfo(bannerAds.GetResponseInfo()),
|
||||
AdmobUtils.GetBannerEcpm(bannerAds));
|
||||
};
|
||||
LoadAd(adUnitId);
|
||||
}
|
||||
|
|
|
@ -13,13 +13,14 @@ namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager
|
|||
private Dictionary<string, InterstitialAd> _interstitialAds = new Dictionary<string, InterstitialAd>();
|
||||
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> onAdShowed = null,
|
||||
Action<string> onAdDismissed = null,
|
||||
Action<string,string,double> onAdDismissed = null,
|
||||
Action<string, int, string> onAdError = null,
|
||||
Action<AdValue> onAdPaid = null,
|
||||
Action<string> onAdClicked = null)
|
||||
Action<string,string,double> onAdClicked = null)
|
||||
{
|
||||
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> onAdShowed,
|
||||
Action<string> onAdDismissed,
|
||||
Action<string,string,double> onAdDismissed,
|
||||
Action<string, int, string> onAdError,
|
||||
Action<AdValue> onAdPaid,
|
||||
Action<string> onAdClicked)
|
||||
Action<string,string,double> onAdClicked)
|
||||
{
|
||||
if (_interstitialAds.ContainsKey(adUnitId))
|
||||
{
|
||||
|
@ -55,7 +57,8 @@ namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager
|
|||
_interstitialAds[adUnitId] = ad;
|
||||
_adRevenueCache[adUnitId] = AdmobUtils.GetInterstitialAdEcpm(ad);
|
||||
AdsKeyEvents.Instance.LogAdFPUEvents(AdsType.Interstitial);
|
||||
onAdLoaded?.Invoke(adUnitId);
|
||||
onAdLoaded?.Invoke(ad.GetResponseInfo().GetLoadedAdapterResponseInfo().AdSourceName,
|
||||
AdmobUtils.ParseResponseInfo(ad.GetResponseInfo()));
|
||||
|
||||
ad.OnAdPaid += (AdValue adValue) =>
|
||||
{
|
||||
|
@ -76,7 +79,9 @@ namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager
|
|||
ad.OnAdClicked += () =>
|
||||
{
|
||||
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 += () =>
|
||||
|
@ -88,7 +93,7 @@ namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager
|
|||
ad.OnAdFullScreenContentClosed += () =>
|
||||
{
|
||||
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) =>
|
||||
|
|
|
@ -14,13 +14,14 @@ namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager
|
|||
private Dictionary<string, RewardedAd> _rewardedAds = new Dictionary<string, RewardedAd>();
|
||||
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> onAdShowed = null,
|
||||
Action<string> onAdDismissed = null,
|
||||
Action<string,string,double> onAdDismissed = null,
|
||||
Action<string, int, string> onAdError = null,
|
||||
Action<AdValue> onAdPaid = null,
|
||||
Action<string> onAdClicked = null)
|
||||
Action<string,string,double> onAdClicked = null)
|
||||
{
|
||||
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> onAdShowed,
|
||||
Action<string> onAdDismissed,
|
||||
Action<string,string,double> onAdDismissed,
|
||||
Action<string, int, string> onAdError,
|
||||
Action<AdValue> onAdPaid,
|
||||
Action<string> onAdClicked)
|
||||
Action<string,string,double> onAdClicked)
|
||||
{
|
||||
if (_rewardedAds.ContainsKey(adUnitId))
|
||||
{
|
||||
|
@ -55,8 +57,11 @@ namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager
|
|||
LoggerUtils.Debug("[Admob] rewarded ad loaded with response : " + ad.GetResponseInfo().ToString());
|
||||
_rewardedAds[adUnitId] = ad;
|
||||
_adRevenueCache[adUnitId] = AdmobUtils.GetRewardedAdEcpm(ad);
|
||||
|
||||
AdsKeyEvents.Instance.LogAdFPUEvents(AdsType.Rewarded);
|
||||
onAdLoaded?.Invoke(adUnitId);
|
||||
|
||||
onAdLoaded?.Invoke(ad.GetResponseInfo().GetLoadedAdapterResponseInfo().AdSourceName,
|
||||
AdmobUtils.ParseResponseInfo(ad.GetResponseInfo()));
|
||||
|
||||
ad.OnAdPaid += (AdValue adValue) =>
|
||||
{
|
||||
|
@ -76,7 +81,9 @@ namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager
|
|||
ad.OnAdClicked += () =>
|
||||
{
|
||||
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 += () =>
|
||||
|
@ -88,7 +95,7 @@ namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager
|
|||
ad.OnAdFullScreenContentClosed += () =>
|
||||
{
|
||||
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) =>
|
||||
|
|
|
@ -15,13 +15,14 @@ namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager
|
|||
private Dictionary<string, AppOpenAd> _appOpenAds = new Dictionary<string, AppOpenAd>();
|
||||
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> onAdShowed = null,
|
||||
Action<string> onAdDismissed = null,
|
||||
Action<string,string,double> onAdDismissed = null,
|
||||
Action<string, int, string> onAdError = null,
|
||||
Action<AdValue> onAdPaid = null,
|
||||
Action<string> onAdClicked = null)
|
||||
Action<string,string,double> onAdClicked = null)
|
||||
{
|
||||
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> onAdShowed,
|
||||
Action<string> onAdDismissed,
|
||||
Action<string,string,double> onAdDismissed,
|
||||
Action<string, int, string> onAdError,
|
||||
Action<AdValue> onAdPaid,
|
||||
Action<string> onAdClicked)
|
||||
Action<string,string,double> onAdClicked)
|
||||
{
|
||||
if (_appOpenAds.ContainsKey(adUnitId))
|
||||
{
|
||||
|
@ -57,7 +59,8 @@ namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager
|
|||
_appOpenAds[adUnitId] = ad;
|
||||
_adRevenueCache[adUnitId] = AdmobUtils.GetAppOpenAdEcpm(ad);
|
||||
AdsKeyEvents.Instance.LogAdFPUEvents(AdsType.Splash);
|
||||
onAdLoaded?.Invoke(adUnitId);
|
||||
onAdLoaded?.Invoke(ad.GetResponseInfo().GetLoadedAdapterResponseInfo().AdSourceName,
|
||||
AdmobUtils.ParseResponseInfo(ad.GetResponseInfo()));
|
||||
|
||||
ad.OnAdPaid += (AdValue adValue) =>
|
||||
{
|
||||
|
@ -77,7 +80,9 @@ namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager
|
|||
ad.OnAdClicked += () =>
|
||||
{
|
||||
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 += () =>
|
||||
|
@ -89,7 +94,9 @@ namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager
|
|||
ad.OnAdFullScreenContentClosed += () =>
|
||||
{
|
||||
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) =>
|
||||
|
|
Loading…
Reference in New Issue