广告事件打点

This commit is contained in:
juncong lee 2026-01-06 16:29:08 +08:00
parent 4382019847
commit 264513fd31
16 changed files with 237 additions and 219 deletions

View File

@ -32,12 +32,10 @@ MonoBehaviour:
- Assembly-CSharp-firstpass - Assembly-CSharp-firstpass
- ThinkingAnalytics - ThinkingAnalytics
- Assembly-CSharp - Assembly-CSharp
- MaxSdk.Scripts
- IAPResolver - IAPResolver
- ThinkupTpnPlugin.Script.IntegrationManager.Editor - ThinkupTpnPlugin.Script.IntegrationManager.Editor
- AdjustSdk.Scripts - AdjustSdk.Scripts
- ThinkingSDK - ThinkingSDK
- MaxSdk.Scripts.IntegrationManager.Editor
- GoogleMobileAds.Editor - GoogleMobileAds.Editor
- ThinkupTpnPlugin.Script.Editor - ThinkupTpnPlugin.Script.Editor
- FirebaseMessagingActivityGenerator - FirebaseMessagingActivityGenerator

View File

@ -141,7 +141,7 @@ namespace WZ
/// 显示原生广告 /// 显示原生广告
/// </summary> /// </summary>
/// <param name="position">广告位置和尺寸信息</param> /// <param name="position">广告位置和尺寸信息</param>
void DisplayNative(string _adPos, string adUnitId, NativeAdPosition position); void DisplayNative(string _adPos, string adUnitId, NativeAdPosition position, NativeType nativeType);
/// <summary> /// <summary>
/// 移除原生广告 /// 移除原生广告

View File

@ -26,9 +26,10 @@ namespace WZ
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 List<string> _collapsibleBannerAdUnits = new List<string>(); private List<string> _collapsibleBannerAdUnits = new List<string>();
private string _rvPos; public string _rvPos;
private string _ivPos; public string _ivPos;
private string _naPos; public string _naPos;
public NativeType _naType;
private Action<bool,double> _rvCloseCallback = null; private Action<bool,double> _rvCloseCallback = null;
private Action<double> _ivCloseCallback = null; private Action<double> _ivCloseCallback = null;
private Action _rvShowFailedCallback = null; private Action _rvShowFailedCallback = null;
@ -90,7 +91,6 @@ namespace WZ
OnRewardedAdClicked OnRewardedAdClicked
); );
_rvStartLoadTime = Time.realtimeSinceStartup; _rvStartLoadTime = Time.realtimeSinceStartup;
AdsActionEvents.TrackAdStartLoad(Platfrom, AdsType.Rewarded);
} }
public void DisplayRewarded(string adPos, Action<bool,double> rewardCallback = null, Action showFailedCallback = null) public void DisplayRewarded(string adPos, Action<bool,double> rewardCallback = null, Action showFailedCallback = null)
{ {
@ -128,7 +128,14 @@ namespace WZ
private void OnRewardedAdDismissed(string adSource,string adUnitId,double revenue) private void OnRewardedAdDismissed(string adSource,string adUnitId,double revenue)
{ {
AdsActionEvents.TrackAdClosed(Platfrom,adSource,adUnitId,AdsType.Rewarded,_rvPos,revenue); AdsActionEvents.TrackAdClosed(Platfrom,
adSource,
adUnitId,
AdsType.Rewarded,
_rvPos,
revenue,
AdPlayCountManager.GetAdsActionCount(AdsType.Rewarded,_rvPos+AdPlayCountManager.POS_SUFFIX));
_rvCloseCallback?.Invoke(_receivedReward,revenue); _rvCloseCallback?.Invoke(_receivedReward,revenue);
_rvCloseCallback = null; _rvCloseCallback = null;
_receivedReward = false; _receivedReward = false;
@ -144,7 +151,14 @@ namespace WZ
private void OnRewardedAdClicked(string adSource,string adUnitId,double revenue) private void OnRewardedAdClicked(string adSource,string adUnitId,double revenue)
{ {
AdsActionEvents.TrackAdClicked(Platfrom,adSource,adUnitId,AdsType.Rewarded,_rvPos,revenue); AdsActionEvents.TrackAdClicked(Platfrom,
adSource,
adUnitId,
AdsType.Rewarded,
_rvPos,
revenue,
AdPlayCountManager.GetAdsActionCount(AdsType.Rewarded,_rvPos+AdPlayCountManager.POS_SUFFIX),
NativeType.None);
} }
private void OnRewardEarnReward(bool reward) private void OnRewardEarnReward(bool reward)
@ -169,7 +183,6 @@ namespace WZ
OnInterstitialAdClicked OnInterstitialAdClicked
); );
_ivStartLoadTime = Time.realtimeSinceStartup; _ivStartLoadTime = Time.realtimeSinceStartup;
AdsActionEvents.TrackAdStartLoad(Platfrom,AdsType.Interstitial);
} }
public double GetInterstitialRevenue() public double GetInterstitialRevenue()
{ {
@ -200,7 +213,14 @@ namespace WZ
} }
private void OnInterstitialAdClicked(string adSource,string adUnitId,double revenue) private void OnInterstitialAdClicked(string adSource,string adUnitId,double revenue)
{ {
AdsActionEvents.TrackAdClicked(Platfrom, adSource, adUnitId, AdsType.Interstitial, _ivPos, revenue); AdsActionEvents.TrackAdClicked(Platfrom,
adSource,
adUnitId,
AdsType.Interstitial,
_ivPos,
revenue,
AdPlayCountManager.GetAdsActionCount(AdsType.Interstitial,_ivPos+AdPlayCountManager.POS_SUFFIX),
NativeType.None);
} }
private void OnInterstitialAdPaid(AdValue adValue) private void OnInterstitialAdPaid(AdValue adValue)
@ -215,7 +235,15 @@ namespace WZ
private void OnInterstitialAdDismissed(string adSource,string adUnitId,double revenue) private void OnInterstitialAdDismissed(string adSource,string adUnitId,double revenue)
{ {
AdsActionEvents.TrackAdClosed(Platfrom, adSource, adUnitId, AdsType.Interstitial, _ivPos, revenue); AdsActionEvents.TrackAdClosed(Platfrom,
adSource,
adUnitId,
AdsType.Interstitial,
_ivPos,
revenue,
AdPlayCountManager.GetAdsActionCount(AdsType.Interstitial,_ivPos+AdPlayCountManager.POS_SUFFIX)
);
_ivCloseCallback?.Invoke(revenue); _ivCloseCallback?.Invoke(revenue);
_ivCloseCallback = null; _ivCloseCallback = null;
LoadInterstitial(); LoadInterstitial();
@ -247,7 +275,6 @@ namespace WZ
OnSplashAdClicked OnSplashAdClicked
); );
_spStartLoadTime = Time.realtimeSinceStartup; _spStartLoadTime = Time.realtimeSinceStartup;
AdsActionEvents.TrackAdStartLoad(Platfrom,AdsType.Splash);
} }
public bool IsSplashAvailable() public bool IsSplashAvailable()
@ -290,7 +317,15 @@ namespace WZ
private void OnSplashAdDismissed(string adSource, string adUnitId, double revenue) private void OnSplashAdDismissed(string adSource, string adUnitId, double revenue)
{ {
AdsActionEvents.TrackAdClosed(Platfrom, adSource, adUnitId, AdsType.Splash, AdsSplashManager.Instance._coldLaunch ? "Cold" : "Hot", revenue); AdsActionEvents.TrackAdClosed(Platfrom,
adSource,
adUnitId,
AdsType.Splash,
AdsSplashManager.Instance._coldLaunch ? "Cold" : "Hot",
revenue,
AdPlayCountManager.GetAdsActionCount(AdsType.Splash,"Splash"+AdPlayCountManager.POS_SUFFIX)
);
AdsSDKManager.Instance.otherAdsOnShow = false; AdsSDKManager.Instance.otherAdsOnShow = false;
AdsSplashManager.Instance.OnSplashAdCloseCallback?.Invoke(); AdsSplashManager.Instance.OnSplashAdCloseCallback?.Invoke();
LoadSplash(); LoadSplash();
@ -305,7 +340,14 @@ namespace WZ
private void OnSplashAdClicked(string adSource,string adUnitId,double revenue) private void OnSplashAdClicked(string adSource,string adUnitId,double revenue)
{ {
AdsActionEvents.TrackAdClicked(Platfrom,adSource,adUnitId,AdsType.Splash,AdsSplashManager.Instance._coldLaunch ? "Cold" : "Hot",revenue); AdsActionEvents.TrackAdClicked(Platfrom,
adSource,
adUnitId,
AdsType.Splash,
AdsSplashManager.Instance._coldLaunch ? "Cold" : "Hot",
revenue,
AdPlayCountManager.GetAdsActionCount(AdsType.Splash,"Splash"+AdPlayCountManager.POS_SUFFIX),
NativeType.None);
} }
private void OnSplashAdPaid(AdValue adValue) private void OnSplashAdPaid(AdValue adValue)
@ -324,7 +366,6 @@ namespace WZ
_admobNativeAdManager.InitializeAdUnits( _admobNativeAdManager.InitializeAdUnits(
_nativeAdUnits _nativeAdUnits
); );
AdsActionEvents.TrackAdStartLoad(Platfrom, AdsType.Native);
} }
public bool IsNativeAvailable(string adUnitId) public bool IsNativeAvailable(string adUnitId)
@ -332,9 +373,10 @@ namespace WZ
return _admobNativeAdManager?.IsAdAvailable(adUnitId) ?? false; return _admobNativeAdManager?.IsAdAvailable(adUnitId) ?? false;
} }
public void DisplayNative(string _adPos, string adUnitId, NativeAdPosition position) public void DisplayNative(string _adPos, string adUnitId, NativeAdPosition position, NativeType nativeType)
{ {
_naPos = _adPos; _naPos = _adPos;
_naType = nativeType;
_admobNativeAdManager.ShowAd(position, adUnitId); _admobNativeAdManager.ShowAd(position, adUnitId);
} }
@ -354,7 +396,7 @@ namespace WZ
{ {
LoadStandardBanner(); LoadStandardBanner();
LoadCollapsingBanner(); LoadCollapsingBanner();
AdsActionEvents.TrackAdStartLoad(Platfrom,AdsType.Banner);
} }
private void LoadStandardBanner() private void LoadStandardBanner()
@ -422,7 +464,7 @@ namespace WZ
#endregion #endregion
#region #region
public void TrackAdImpression(string adsourceName,string adSourceInstanceName, AdValue adValue, AdsType type, string placement) public void TrackAdImpression(string adsourceName,string adSourceInstanceName, AdValue adValue, AdsType type, string placement,NativeType nativeType)
{ {
AdjustTrackEvent.Instance.TrackAdEvent(adValue.Value / 1000000f, AdjustTrackEvent.Instance.TrackAdEvent(adValue.Value / 1000000f,
adsourceName, adsourceName,
@ -445,13 +487,17 @@ namespace WZ
position, position,
AdPlayCountManager.GetAdsActionCount(type, AdPlayCountManager.PLAY_COUNT_SUFFIX)); AdPlayCountManager.GetAdsActionCount(type, AdPlayCountManager.PLAY_COUNT_SUFFIX));
var positionNumKey = position;
if(string.IsNullOrEmpty(positionNumKey)) positionNumKey = "Banner";
ShuShuEvent.Instance.OnAdRevenueEvent(PlatformType.Admob.ToString(), ShuShuEvent.Instance.OnAdRevenueEvent(PlatformType.Admob.ToString(),
adsourceName, adsourceName,
placement, placement,
type.ToString(), type,
adValue.Value / 1000000f, adValue.Value / 1000000f,
position, position,
AdPlayCountManager.GetAdsActionCount(type, AdPlayCountManager.PLAY_COUNT_SUFFIX)); AdPlayCountManager.GetAdsActionCount(type, AdPlayCountManager.PLAY_COUNT_SUFFIX),
AdPlayCountManager.GetAdsActionCount(type,positionNumKey+AdPlayCountManager.POS_SUFFIX),
nativeType);
} }
#endregion #endregion
@ -462,46 +508,7 @@ namespace WZ
} }
#endregion #endregion
/// <summary>
/// 判断当前广告id的配置是否包含这个id
/// </summary>
/// <param name="adsType"></param>
/// <param name="adUnitId"></param>
/// <returns></returns>
public bool FindAdsID(AdsType adsType, string adUnitId,BannerType bannerType = BannerType.Standard)
{
if (adsType == AdsType.Rewarded)
{
return _rewardedAdUnits.Contains(adUnitId);
}
else if (adsType == AdsType.Interstitial)
{
return _interstitialAdUnits.Contains(adUnitId);
}
else if (adsType == AdsType.Native)
{
return _nativeAdUnits.Contains(adUnitId);
}
else if (adsType == AdsType.Splash)
{
return _splashAdUnits.Contains(adUnitId);
}
else if (adsType == AdsType.Banner)
{
if (bannerType == BannerType.Standard)
{
return _bannerAdUnits.Contains(adUnitId);
}
else
{
return _collapsibleBannerAdUnits.Contains(adUnitId);
}
}
else
{
return false;
}
}
} }

View File

@ -44,6 +44,7 @@ namespace WZ
InterstitialAd.Load(adUnitId, new AdRequest(), (InterstitialAd ad, LoadAdError error) => InterstitialAd.Load(adUnitId, new AdRequest(), (InterstitialAd ad, LoadAdError error) =>
{ {
AdsActionEvents.TrackAdStartLoad(PlatformType.Admob,AdsType.Interstitial,adUnitId);
if (error != null || ad == null) if (error != null || ad == null)
{ {
LoggerUtils.Debug("[Admob] interstitial ad failed to load an ad with error : " + error); LoggerUtils.Debug("[Admob] interstitial ad failed to load an ad with error : " + error);
@ -51,11 +52,6 @@ namespace WZ
return; return;
} }
if (!AdmobAdsManager.Instance.FindAdsID(AdsType.Interstitial, adUnitId))
{
return;
}
LoggerUtils.Debug("Admob Interstitial ad loaded with response : " + ad.GetResponseInfo().ToString()); LoggerUtils.Debug("Admob Interstitial ad loaded with response : " + ad.GetResponseInfo().ToString());
LoggerUtils.Debug("Admob Interstitial ad loaded with Getsrevenue:"+AdmobUtils.GetInterstitialAdEcpm(ad)); LoggerUtils.Debug("Admob Interstitial ad loaded with Getsrevenue:"+AdmobUtils.GetInterstitialAdEcpm(ad));
_interstitialAds[adUnitId] = ad; _interstitialAds[adUnitId] = ad;
@ -77,7 +73,8 @@ namespace WZ
ad?.GetResponseInfo()?.GetLoadedAdapterResponseInfo().AdSourceInstanceId ??"", ad?.GetResponseInfo()?.GetLoadedAdapterResponseInfo().AdSourceInstanceId ??"",
adValue, adValue,
AdsType.Interstitial, AdsType.Interstitial,
adUnitId); adUnitId,
NativeType.None);
onAdPaid?.Invoke(adValue); onAdPaid?.Invoke(adValue);
}; };
@ -113,6 +110,13 @@ namespace WZ
{ {
LoggerUtils.Debug("[Admob] Interstitial ad failed to open full screen content with error : " + error); LoggerUtils.Debug("[Admob] Interstitial ad failed to open full screen content with error : " + error);
onAdError?.Invoke(adUnitId, error.GetCode(), error.GetMessage()); onAdError?.Invoke(adUnitId, error.GetCode(), error.GetMessage());
AdsActionEvents.TrackAdFailToShow(AdsType.Interstitial,AdmobAdsManager.Instance._ivPos,PlatformType.Admob.ToString(),ad?.GetResponseInfo()?.GetLoadedAdapterResponseInfo().AdSourceName ??"",
adUnitId,
AdPlayCountManager.GetAdsActionCount(AdsType.Interstitial,AdmobAdsManager.Instance._ivPos+AdPlayCountManager.POS_SUFFIX),
NativeType.None,
error.GetCode().ToString(),
error.GetMessage()
);
}; };
}); });
} }
@ -145,10 +149,6 @@ namespace WZ
// 检查特定广告位是否可用 // 检查特定广告位是否可用
private bool IsAdAvailable(string adUnitId) private bool IsAdAvailable(string adUnitId)
{ {
if (!AdmobAdsManager.Instance.FindAdsID(AdsType.Interstitial, adUnitId))
{
return false;
}
return _interstitialAds.TryGetValue(adUnitId, out var ad) && ad.CanShowAd(); return _interstitialAds.TryGetValue(adUnitId, out var ad) && ad.CanShowAd();
} }

View File

@ -52,14 +52,10 @@ namespace WZ
public void LoadAd(string adUnitId, bool timingRefresh = false) public void LoadAd(string adUnitId, bool timingRefresh = false)
{ {
LoggerUtils.Debug($"[Admob] Native Ad unit {adUnitId} load start , timingRefresh {timingRefresh}"); LoggerUtils.Debug($"[Admob] Native Ad unit {adUnitId} load start , timingRefresh {timingRefresh}");
//判断在线参数是否包含这个id
if (!AdmobAdsManager.Instance.FindAdsID(AdsType.Native, adUnitId))
{
return;
}
NativeOverlayAd.Load(adUnitId, new AdRequest(), new NativeAdOptions(), (NativeOverlayAd ad, LoadAdError error) => NativeOverlayAd.Load(adUnitId, new AdRequest(), new NativeAdOptions(), (NativeOverlayAd ad, LoadAdError error) =>
{ {
AdsActionEvents.TrackAdStartLoad(PlatformType.Admob, AdsType.Native,adUnitId);
_adStartLoadTimes[adUnitId] = Time.realtimeSinceStartup; _adStartLoadTimes[adUnitId] = Time.realtimeSinceStartup;
LoggerUtils.Debug($"[Admob] Native Ad unit {adUnitId} load end, timingRefresh {timingRefresh}. {ad} error {error}"); LoggerUtils.Debug($"[Admob] Native Ad unit {adUnitId} load end, timingRefresh {timingRefresh}. {ad} error {error}");
if (error != null || ad == null) if (error != null || ad == null)
@ -112,11 +108,6 @@ namespace WZ
return; return;
} }
if (!AdmobAdsManager.Instance.FindAdsID(AdsType.Native, adUnitId))
{
return;
}
AdsActionEvents.TrackAdLoaded(PlatformType.Admob, AdsActionEvents.TrackAdLoaded(PlatformType.Admob,
ad?.GetResponseInfo()?.GetLoadedAdapterResponseInfo()?.AdSourceName ?? "", ad?.GetResponseInfo()?.GetLoadedAdapterResponseInfo()?.AdSourceName ?? "",
adUnitId, adUnitId,
@ -147,7 +138,8 @@ namespace WZ
ad?.GetResponseInfo()?.GetLoadedAdapterResponseInfo().AdSourceInstanceId ?? "", ad?.GetResponseInfo()?.GetLoadedAdapterResponseInfo().AdSourceInstanceId ?? "",
adValue, adValue,
AdsType.Native, AdsType.Native,
adUnitId); adUnitId,
AdmobAdsManager.Instance._naType);
}; };
ad.OnAdImpressionRecorded += () => { LoggerUtils.Debug("[Admob] Native ad recorded an impression."); }; ad.OnAdImpressionRecorded += () => { LoggerUtils.Debug("[Admob] Native ad recorded an impression."); };
@ -159,7 +151,10 @@ namespace WZ
adUnitId, adUnitId,
AdsType.Native, AdsType.Native,
"", "",
AdmobUtils.GetNativeEcpm(ad)); AdmobUtils.GetNativeEcpm(ad),
AdPlayCountManager.GetAdsActionCount(AdsType.Native,AdmobAdsManager.Instance._naPos+AdPlayCountManager.POS_SUFFIX),
AdmobAdsManager.Instance._naType
);
LoggerUtils.Debug("[Admob] Native ad was clicked."); LoggerUtils.Debug("[Admob] Native ad was clicked.");
}; };
@ -167,12 +162,15 @@ namespace WZ
ad.OnAdFullScreenContentClosed += () => ad.OnAdFullScreenContentClosed += () =>
{ {
AdsActionEvents.TrackAdClicked(PlatformType.Admob, AdsActionEvents.TrackAdClosed(PlatformType.Admob,
ad?.GetResponseInfo()?.GetLoadedAdapterResponseInfo()?.AdSourceName ?? "", ad?.GetResponseInfo()?.GetLoadedAdapterResponseInfo()?.AdSourceName ?? "",
adUnitId, adUnitId,
AdsType.Native, AdsType.Native,
"", "",
AdmobUtils.GetNativeEcpm(ad)); AdmobUtils.GetNativeEcpm(ad),
AdPlayCountManager.GetAdsActionCount(AdsType.Native,AdmobAdsManager.Instance._naPos + AdPlayCountManager.POS_SUFFIX)
);
LoggerUtils.Debug("[Admob] Native ad full screen content closed."); LoggerUtils.Debug("[Admob] Native ad full screen content closed.");
}; };
@ -213,11 +211,6 @@ namespace WZ
// 显示特定广告位的广告 // 显示特定广告位的广告
public void ShowAd(NativeAdPosition position, string adUnitId, NativeOverlayAd lastAd = null, NativeOverlayAd lastShowAd = null) public void ShowAd(NativeAdPosition position, string adUnitId, NativeOverlayAd lastAd = null, NativeOverlayAd lastShowAd = null)
{ {
if (!AdmobAdsManager.Instance.FindAdsID(AdsType.Native, adUnitId))
{
return;
}
LoggerUtils.Debug($"[Admob] Native ad ShowAd start {adUnitId} , {position}"); LoggerUtils.Debug($"[Admob] Native ad ShowAd start {adUnitId} , {position}");
if (_nativeAds.TryGetValue(adUnitId, out var ad)) if (_nativeAds.TryGetValue(adUnitId, out var ad))

View File

@ -45,6 +45,7 @@ namespace WZ
RewardedAd.Load(adUnitId, new AdRequest(), (RewardedAd ad, LoadAdError error) => RewardedAd.Load(adUnitId, new AdRequest(), (RewardedAd ad, LoadAdError error) =>
{ {
AdsActionEvents.TrackAdStartLoad(PlatformType.Admob, AdsType.Rewarded,adUnitId);
if (error != null || ad == null) if (error != null || ad == null)
{ {
LoggerUtils.Debug("[Admob] rewarded ad failed to load an ad with error : " + error); LoggerUtils.Debug("[Admob] rewarded ad failed to load an ad with error : " + error);
@ -55,11 +56,6 @@ namespace WZ
LoggerUtils.Debug("[Admob] rewarded ad loaded with response : " + ad.GetResponseInfo().ToString()); LoggerUtils.Debug("[Admob] rewarded ad loaded with response : " + ad.GetResponseInfo().ToString());
LoggerUtils.Debug("[Admob] rewarded ad revenue : " +AdmobUtils.GetRewardedAdEcpm(ad)); LoggerUtils.Debug("[Admob] rewarded ad revenue : " +AdmobUtils.GetRewardedAdEcpm(ad));
if (!AdmobAdsManager.Instance.FindAdsID(AdsType.Rewarded, adUnitId))
{
return;
}
_rewardedAds[adUnitId] = ad; _rewardedAds[adUnitId] = ad;
_adRevenueCache[adUnitId] = AdmobUtils.GetRewardedAdEcpm(ad); _adRevenueCache[adUnitId] = AdmobUtils.GetRewardedAdEcpm(ad);
@ -81,7 +77,8 @@ namespace WZ
ad?.GetResponseInfo()?.GetLoadedAdapterResponseInfo()?.AdSourceInstanceId ?? "", ad?.GetResponseInfo()?.GetLoadedAdapterResponseInfo()?.AdSourceInstanceId ?? "",
adValue, adValue,
AdsType.Rewarded, AdsType.Rewarded,
adUnitId); adUnitId,
NativeType.None);
}; };
ad.OnAdImpressionRecorded += () => ad.OnAdImpressionRecorded += () =>
@ -114,6 +111,13 @@ namespace WZ
{ {
LoggerUtils.Debug("[Admob] rewarded ad failed to open full screen content with error : " + error); LoggerUtils.Debug("[Admob] rewarded ad failed to open full screen content with error : " + error);
onAdError?.Invoke(adUnitId, error.GetCode(), error.GetMessage()); onAdError?.Invoke(adUnitId, error.GetCode(), error.GetMessage());
AdsActionEvents.TrackAdFailToShow(AdsType.Rewarded,AdmobAdsManager.Instance._rvPos,PlatformType.Admob.ToString(),ad?.GetResponseInfo()?.GetLoadedAdapterResponseInfo().AdSourceName ??"",
adUnitId,
AdPlayCountManager.GetAdsActionCount(AdsType.Rewarded,AdmobAdsManager.Instance._rvPos+AdPlayCountManager.POS_SUFFIX),
NativeType.None,
error.GetCode().ToString(),
error.GetMessage()
);
}; };
}); });
} }
@ -141,10 +145,6 @@ namespace WZ
// 检查特定广告位是否可用 // 检查特定广告位是否可用
private bool IsAdAvailable(string adUnitId) private bool IsAdAvailable(string adUnitId)
{ {
if (!AdmobAdsManager.Instance.FindAdsID(AdsType.Rewarded, adUnitId))
{
return false;
}
return _rewardedAds.TryGetValue(adUnitId, out var ad) && ad.CanShowAd(); return _rewardedAds.TryGetValue(adUnitId, out var ad) && ad.CanShowAd();
} }

View File

@ -46,6 +46,7 @@ namespace WZ
AppOpenAd.Load(adUnitId, new AdRequest(), (AppOpenAd ad, LoadAdError error) => AppOpenAd.Load(adUnitId, new AdRequest(), (AppOpenAd ad, LoadAdError error) =>
{ {
AdsActionEvents.TrackAdStartLoad(PlatformType.Admob,AdsType.Splash,adUnitId);
if (error != null || ad == null) if (error != null || ad == null)
{ {
LoggerUtils.Debug("[Admob] appopen ad failed to load an ad with error : " + error); LoggerUtils.Debug("[Admob] appopen ad failed to load an ad with error : " + error);
@ -74,7 +75,8 @@ namespace WZ
ad?.GetResponseInfo()?.GetLoadedAdapterResponseInfo()?.AdSourceInstanceId ?? "", ad?.GetResponseInfo()?.GetLoadedAdapterResponseInfo()?.AdSourceInstanceId ?? "",
adValue, adValue,
AdsType.Splash, AdsType.Splash,
adUnitId); adUnitId,
NativeType.None);
onAdPaid?.Invoke(adValue); onAdPaid?.Invoke(adValue);
}; };
@ -109,6 +111,13 @@ namespace WZ
{ {
LoggerUtils.Debug("[Admob] appopen ad failed to open full screen content with error : " + error); LoggerUtils.Debug("[Admob] appopen ad failed to open full screen content with error : " + error);
onAdError?.Invoke(adUnitId, error.GetCode(), error.GetMessage()); onAdError?.Invoke(adUnitId, error.GetCode(), error.GetMessage());
AdsActionEvents.TrackAdFailToShow(AdsType.Splash,"Splash",PlatformType.Admob.ToString(),ad?.GetResponseInfo()?.GetLoadedAdapterResponseInfo().AdSourceName ??"",
adUnitId,
AdPlayCountManager.GetAdsActionCount(AdsType.Splash,"Splash"+AdPlayCountManager.POS_SUFFIX),
NativeType.None,
error.GetCode().ToString(),
error.GetMessage()
);
}; };
}); });
} }

View File

@ -90,7 +90,8 @@ namespace WZ
bannerAds?.GetResponseInfo()?.GetLoadedAdapterResponseInfo().AdSourceInstanceId ?? "", bannerAds?.GetResponseInfo()?.GetLoadedAdapterResponseInfo().AdSourceInstanceId ?? "",
adValue, adValue,
AdsType.Banner, AdsType.Banner,
adUnitId); adUnitId,
NativeType.None);
}); });
bannerAds.OnAdClicked += () => bannerAds.OnAdClicked += () =>
@ -100,20 +101,19 @@ namespace WZ
adUnitId, adUnitId,
AdsType.Banner, AdsType.Banner,
"", "",
AdmobUtils.GetBannerEcpm(bannerAds)); AdmobUtils.GetBannerEcpm(bannerAds),
AdPlayCountManager.GetAdsActionCount(AdsType.Banner,"Banner"+AdPlayCountManager.POS_SUFFIX),
NativeType.None);
}; };
LoadAd(adUnitId); LoadAd(adUnitId);
} }
public void LoadAd(string adUnitId) public void LoadAd(string adUnitId)
{ {
if (!AdmobAdsManager.Instance.FindAdsID(AdsType.Banner, adUnitId))
{
return;
}
if (_bannerAds.TryGetValue(adUnitId, out var ad)) if (_bannerAds.TryGetValue(adUnitId, out var ad))
{ {
ad.LoadAd(new AdRequest()); ad.LoadAd(new AdRequest());
AdsActionEvents.TrackAdStartLoad(PlatformType.Admob,AdsType.Banner,adUnitId);
} }
} }
@ -134,10 +134,6 @@ namespace WZ
// 显示特定广告位的广告 // 显示特定广告位的广告
private void ShowAd(string adUnitId,BannerAlignType bannerAlignType) private void ShowAd(string adUnitId,BannerAlignType bannerAlignType)
{ {
if (!AdmobAdsManager.Instance.FindAdsID(AdsType.Banner, adUnitId))
{
return;
}
if (_bannerAds.TryGetValue(adUnitId, out var ad)) if (_bannerAds.TryGetValue(adUnitId, out var ad))
{ {
ad.SetPosition(bannerAlignType == BannerAlignType.CenterBottom ? AdPosition.Bottom : AdPosition.Top); ad.SetPosition(bannerAlignType == BannerAlignType.CenterBottom ? AdPosition.Bottom : AdPosition.Top);

View File

@ -90,7 +90,8 @@ namespace WZ
bannerAds?.GetResponseInfo()?.GetLoadedAdapterResponseInfo()?.AdSourceInstanceId ?? "", bannerAds?.GetResponseInfo()?.GetLoadedAdapterResponseInfo()?.AdSourceInstanceId ?? "",
adValue, adValue,
AdsType.Banner, AdsType.Banner,
adUnitId); adUnitId,
NativeType.None);
}); });
bannerAds.OnAdClicked += () => bannerAds.OnAdClicked += () =>
@ -100,22 +101,22 @@ namespace WZ
adUnitId, adUnitId,
AdsType.Banner, AdsType.Banner,
"", "",
AdmobUtils.GetBannerEcpm(bannerAds)); AdmobUtils.GetBannerEcpm(bannerAds),
AdPlayCountManager.GetAdsActionCount(AdsType.Banner,"Banner"+AdPlayCountManager.POS_SUFFIX),
NativeType.None
);
}; };
LoadAd(adUnitId); LoadAd(adUnitId);
} }
public void LoadAd(string adUnitId) public void LoadAd(string adUnitId)
{ {
if (!AdmobAdsManager.Instance.FindAdsID(AdsType.Banner, adUnitId, BannerType.Collapsible))
{
return;
}
if (_bannerAds.TryGetValue(adUnitId, out var ad)) if (_bannerAds.TryGetValue(adUnitId, out var ad))
{ {
var adRequest = new AdRequest(); var adRequest = new AdRequest();
adRequest.Extras.Add("collapsible", "bottom"); adRequest.Extras.Add("collapsible", "bottom");
ad.LoadAd(adRequest); ad.LoadAd(adRequest);
AdsActionEvents.TrackAdStartLoad(PlatformType.Admob,AdsType.Banner,adUnitId);
} }
} }
@ -139,11 +140,6 @@ namespace WZ
// 显示特定广告位的广告 // 显示特定广告位的广告
private void ShowAd(string adUnitId,BannerAlignType bannerAlignType) private void ShowAd(string adUnitId,BannerAlignType bannerAlignType)
{ {
if (!AdmobAdsManager.Instance.FindAdsID(AdsType.Banner, adUnitId,BannerType.Collapsible))
{
return;
}
if (_bannerAds.TryGetValue(adUnitId, out var ad)) if (_bannerAds.TryGetValue(adUnitId, out var ad))
{ {
ad.SetPosition(bannerAlignType == BannerAlignType.CenterBottom ? AdPosition.Bottom : AdPosition.Top); ad.SetPosition(bannerAlignType == BannerAlignType.CenterBottom ? AdPosition.Bottom : AdPosition.Top);

View File

@ -37,6 +37,8 @@ namespace WZ
LoggerUtils.Debug("ShowRewardAd _adPos:"+_adPos+" ready:"+IsRewardAdReady(_platformType)); LoggerUtils.Debug("ShowRewardAd _adPos:"+_adPos+" ready:"+IsRewardAdReady(_platformType));
otherAdsOnShow = true; otherAdsOnShow = true;
AdPlayCountManager.IncrementAdsActionCount(AdsType.Rewarded,AdPlayCountManager.PLAY_COUNT_SUFFIX); AdPlayCountManager.IncrementAdsActionCount(AdsType.Rewarded,AdPlayCountManager.PLAY_COUNT_SUFFIX);
AdPlayCountManager.IncrementAdsActionCount(AdsType.Rewarded,_adPos+AdPlayCountManager.POS_SUFFIX);
AdjustTrackEvent.Instance.TrackEventName("RV_Show", new Dictionary<string, object>()); AdjustTrackEvent.Instance.TrackEventName("RV_Show", new Dictionary<string, object>());
if(_platformType == PlatformType.Admob) if(_platformType == PlatformType.Admob)
{ {
@ -67,6 +69,7 @@ namespace WZ
{ {
AdsSDKManager.Instance.otherAdsOnShow = true; AdsSDKManager.Instance.otherAdsOnShow = true;
AdPlayCountManager.IncrementAdsActionCount(AdsType.Interstitial,AdPlayCountManager.PLAY_COUNT_SUFFIX); AdPlayCountManager.IncrementAdsActionCount(AdsType.Interstitial,AdPlayCountManager.PLAY_COUNT_SUFFIX);
AdPlayCountManager.IncrementAdsActionCount(AdsType.Interstitial,_adPos+AdPlayCountManager.POS_SUFFIX);
AdjustTrackEvent.Instance.TrackEventName("IV_Show", new Dictionary<string, object>()); AdjustTrackEvent.Instance.TrackEventName("IV_Show", new Dictionary<string, object>());
if(_platformType == PlatformType.Admob) if(_platformType == PlatformType.Admob)
@ -98,6 +101,7 @@ namespace WZ
{ {
AdPlayCountManager.IncrementAdsActionCount(AdsType.Banner,AdPlayCountManager.PLAY_COUNT_SUFFIX); AdPlayCountManager.IncrementAdsActionCount(AdsType.Banner,AdPlayCountManager.PLAY_COUNT_SUFFIX);
AdPlayCountManager.IncrementAdsActionCount(AdsType.Rewarded, "Banner"+AdPlayCountManager.POS_SUFFIX);
AdjustTrackEvent.Instance.TrackEventName("Banner_Show", new Dictionary<string, object>()); AdjustTrackEvent.Instance.TrackEventName("Banner_Show", new Dictionary<string, object>());
if (platformType == PlatformType.Admob) if (platformType == PlatformType.Admob)
{ {
@ -122,11 +126,12 @@ namespace WZ
return AdmobAdsManager.Instance.IsNativeAvailable(adUnitId); return AdmobAdsManager.Instance.IsNativeAvailable(adUnitId);
} }
public void ShowNativeAd(string _adPos, string adUnitId, NativeAdPosition position) public void ShowNativeAd(string _adPos, string adUnitId, NativeAdPosition position,NativeType nativeType)
{ {
AdmobAdsManager.Instance.DisplayNative(_adPos, adUnitId, position); AdmobAdsManager.Instance.DisplayNative(_adPos, adUnitId, position, nativeType);
AdjustTrackEvent.Instance.TrackEventName("NA_Show", new Dictionary<string, object>()); AdjustTrackEvent.Instance.TrackEventName("NA_Show", new Dictionary<string, object>());
AdPlayCountManager.IncrementAdsActionCount(AdsType.Native,AdPlayCountManager.PLAY_COUNT_SUFFIX); AdPlayCountManager.IncrementAdsActionCount(AdsType.Native,AdPlayCountManager.PLAY_COUNT_SUFFIX);
AdPlayCountManager.IncrementAdsActionCount(AdsType.Native,_adPos+AdPlayCountManager.POS_SUFFIX);
} }
public void RemoveNativeAd(string adUnitId) public void RemoveNativeAd(string adUnitId)
@ -155,6 +160,7 @@ namespace WZ
{ {
AdjustTrackEvent.Instance.TrackEventName("SP_Show", new Dictionary<string, object>()); AdjustTrackEvent.Instance.TrackEventName("SP_Show", new Dictionary<string, object>());
AdPlayCountManager.IncrementAdsActionCount(AdsType.Splash,AdPlayCountManager.PLAY_COUNT_SUFFIX); AdPlayCountManager.IncrementAdsActionCount(AdsType.Splash,AdPlayCountManager.PLAY_COUNT_SUFFIX);
AdPlayCountManager.IncrementAdsActionCount(AdsType.Splash,"Splash"+AdPlayCountManager.POS_SUFFIX);
AdmobAdsManager.Instance.DisplaySplash(); AdmobAdsManager.Instance.DisplaySplash();
} }

View File

@ -84,7 +84,7 @@ namespace WZ
LoggerUtils.Debug(" [AppOpen] 热启动 开关:" + hotSplashSwitch); LoggerUtils.Debug(" [AppOpen] 热启动 开关:" + hotSplashSwitch);
if (!hotSplashSwitch) if (!hotSplashSwitch)
{ {
AdsActionEvents.TrackAdFailToShow(AdsType.Splash, "Hot", AdsShowFailType.RuleLimit); //AdsActionEvents.TrackAdFailToShow(AdsType.Splash, "Hot", AdsShowFailType.RuleLimit);
return; return;
} }
@ -94,14 +94,14 @@ namespace WZ
LoggerUtils.Debug(" [AppOpen] 后台运行时间差值:" + resultTime + " 在线参数值:" + onlineTime); LoggerUtils.Debug(" [AppOpen] 后台运行时间差值:" + resultTime + " 在线参数值:" + onlineTime);
if (resultTime < onlineTime) if (resultTime < onlineTime)
{ {
AdsActionEvents.TrackAdFailToShow(AdsType.Splash, "Hot", AdsShowFailType.RuleLimit); //AdsActionEvents.TrackAdFailToShow(AdsType.Splash, "Hot", AdsShowFailType.RuleLimit);
return; return;
} }
if (!AdsSDKManager.Instance.IsSplashAvailable()) if (!AdsSDKManager.Instance.IsSplashAvailable())
{ {
LoggerUtils.Debug(" [AppOpen] 热启动 广告是否准备好:"); LoggerUtils.Debug(" [AppOpen] 热启动 广告是否准备好:");
AdsActionEvents.TrackAdFailToShow(AdsType.Splash, "Hot", AdsShowFailType.NoFill); //AdsActionEvents.TrackAdFailToShow(AdsType.Splash, "Hot", AdsShowFailType.NoFill);
AdsSDKManager.Instance.LoadSplashAd(); AdsSDKManager.Instance.LoadSplashAd();
return; return;
} }
@ -128,7 +128,7 @@ namespace WZ
{ {
// 新用户首次不展示 // 新用户首次不展示
LoggerUtils.Debug(" [AppOpen] 冷启动 新用户首次启动 不展示 :"+OnSplashAdCloseCallback); LoggerUtils.Debug(" [AppOpen] 冷启动 新用户首次启动 不展示 :"+OnSplashAdCloseCallback);
AdsActionEvents.TrackAdFailToShow(AdsType.Splash, "Cold", AdsShowFailType.RuleLimit); //AdsActionEvents.TrackAdFailToShow(AdsType.Splash, "Cold", AdsShowFailType.RuleLimit);
OnSplashAdCloseCallback?.Invoke(); OnSplashAdCloseCallback?.Invoke();
} }
else else
@ -140,7 +140,7 @@ namespace WZ
} }
else else
{ {
AdsActionEvents.TrackAdFailToShow(AdsType.Splash, "Cold", AdsShowFailType.NoFill); //AdsActionEvents.TrackAdFailToShow(AdsType.Splash, "Cold", AdsShowFailType.NoFill);
OnSplashAdCloseCallback?.Invoke(); OnSplashAdCloseCallback?.Invoke();
AdsSDKManager.Instance.LoadSplashAd(); AdsSDKManager.Instance.LoadSplashAd();
LoggerUtils.Debug(" [AppOpen] 冷启动广告未准备好"); LoggerUtils.Debug(" [AppOpen] 冷启动广告未准备好");
@ -159,14 +159,14 @@ namespace WZ
} }
else else
{ {
AdsActionEvents.TrackAdFailToShow(AdsType.Splash, "Cold", AdsShowFailType.NoFill); //AdsActionEvents.TrackAdFailToShow(AdsType.Splash, "Cold", AdsShowFailType.NoFill);
OnSplashAdCloseCallback?.Invoke(); OnSplashAdCloseCallback?.Invoke();
AdsSDKManager.Instance.LoadSplashAd(); AdsSDKManager.Instance.LoadSplashAd();
} }
} }
else else
{ {
AdsActionEvents.TrackAdFailToShow(AdsType.Splash, "Cold", AdsShowFailType.RuleLimit); //AdsActionEvents.TrackAdFailToShow(AdsType.Splash, "Cold", AdsShowFailType.RuleLimit);
OnSplashAdCloseCallback?.Invoke(); OnSplashAdCloseCallback?.Invoke();
} }
} }

View File

@ -0,0 +1,17 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace WZ
{
public enum NativeType
{
None = 0,
Small,
Medium,
FakeNative,
Collapsible,
Full
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 422a52b113d314e19b7f8e894cdb72f3
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -20,66 +20,14 @@ namespace WZ
{ "ad_format", adFormat.ToString()}, { "ad_format", adFormat.ToString()},
{ "value", value} { "value", value}
}; };
FireBaseAnalyticsManager.Instance.LogEvent(eventName, dic);
ShuShuEvent.Instance.Track(eventName, dic); RushSDKManager.Instance.LogEvent(eventName, dic);
LoggerUtils.Debug("[actionevent] TrackAdmobValue"+JsonMapper.ToJson(dic)); LoggerUtils.Debug("[actionevent] TrackAdmobValue"+JsonMapper.ToJson(dic));
} }
public static void TrackKwaiWaterfallRequest(AdsType adsType, string requestId, int waterfallRequestNumber, int parallelRequests) public static void TrackAdClicked(PlatformType adPlatform, string adSource, string adUnitName,
{ AdsType adFormat, string posotion, double value,
var eventName = "kwai_waterfall_request"; int positionNumber,NativeType nativeType)
var dic = new Dictionary<string, object> {
{ "request_id", requestId},
{ "waterfall_request_number", waterfallRequestNumber},
{ "parallel_requests", parallelRequests},
{ "ad_type", adsType.ToString()}
};
FireBaseAnalyticsManager.Instance.LogEvent(eventName, dic);
ShuShuEvent.Instance.Track(eventName, dic);
LoggerUtils.Debug("[actionevent] TrackKwaiWaterfallRequest" + JsonMapper.ToJson(dic));
}
public static void TrackKwaiAdunitRequest(AdsType adsType, string requestId, string unitId,
float floorPrice, int waterfallRequestNumber, int unitRequestNumber, int floorNumber)
{
var eventName = "kwai_adunit_request";
var dic = new Dictionary<string, object> {
{ "request_id", requestId},
{ "unit_id", unitId},
{ "floor_price", floorPrice},
{ "waterfall_request_number", waterfallRequestNumber},
{ "unit_request_number", unitRequestNumber},
{ "floor_number", floorNumber},
{ "ad_type", adsType.ToString()}
};
FireBaseAnalyticsManager.Instance.LogEvent(eventName, dic);
ShuShuEvent.Instance.Track(eventName, dic);
LoggerUtils.Debug("[actionevent] TrackKwaiAdunitRequest" + JsonMapper.ToJson(dic));
}
public static void TrackKwiWaterfallFill(AdsType adsType, string requestId, string unitId,
float floorPrice, int waterfallRequestNumber, int unitRequestNumber, int floorNumber,double value)
{
var eventName = "kwai_waterfall_fill";
var dic = new Dictionary<string, object> {
{ "request_id", requestId},
{ "unit_id", unitId},
{ "floor_price", floorPrice},
{ "waterfall_request_number", waterfallRequestNumber},
{ "unit_request_number", unitRequestNumber},
{ "floor_number", floorNumber},
{ "ad_type", adsType.ToString() },
{ "value",value}
};
FireBaseAnalyticsManager.Instance.LogEvent(eventName, dic);
ShuShuEvent.Instance.Track(eventName, dic);
LoggerUtils.Debug("[actionevent] TrackKwaiWaterfallFill" + JsonMapper.ToJson(dic));
}
public static void TrackAdClicked(PlatformType adPlatform, string adSource, string adUnitName, AdsType adFormat, string posotion, double value)
{ {
AdPlayCountManager.IncrementAdsActionCount(adFormat, AdPlayCountManager.CLICK_COUNT_SUFFIX); AdPlayCountManager.IncrementAdsActionCount(adFormat, AdPlayCountManager.CLICK_COUNT_SUFFIX);
var eventName = "ad_click"; var eventName = "ad_click";
@ -91,14 +39,16 @@ namespace WZ
{ "position", posotion}, { "position", posotion},
{ "value", value}, { "value", value},
{ "currency","USD"}, { "currency","USD"},
{ "number",AdPlayCountManager.GetAdsActionCount(adFormat,AdPlayCountManager.CLICK_COUNT_SUFFIX)} { "format_number",AdPlayCountManager.GetAdsActionCount(adFormat,AdPlayCountManager.CLICK_COUNT_SUFFIX)},
{ "position_number", positionNumber},
{ "native_type", nativeType},
}; };
FireBaseAnalyticsManager.Instance.LogEvent(eventName, dic);
ShuShuEvent.Instance.Track(eventName, dic); RushSDKManager.Instance.LogEvent(eventName, dic);
LoggerUtils.Debug("[actionevent] TrackAdClicked" + JsonMapper.ToJson(dic)); LoggerUtils.Debug("[actionevent] TrackAdClicked" + JsonMapper.ToJson(dic));
} }
public static void TrackAdClosed(PlatformType adPlatform, string adSource, string adUnitName, AdsType adFormat, string posotion, double value) public static void TrackAdClosed(PlatformType adPlatform, string adSource, string adUnitName, AdsType adFormat, string posotion, double value,int positionNumber)
{ {
AdsSDKManager.Instance.otherAdsOnShow = false; AdsSDKManager.Instance.otherAdsOnShow = false;
AdPlayCountManager.IncrementAdsActionCount(adFormat, AdPlayCountManager.CLOSE_COUNT_SUFFIX); AdPlayCountManager.IncrementAdsActionCount(adFormat, AdPlayCountManager.CLOSE_COUNT_SUFFIX);
@ -111,24 +61,26 @@ namespace WZ
{ "position", posotion}, { "position", posotion},
{ "value", value}, { "value", value},
{ "currency","USD"}, { "currency","USD"},
{ "number",AdPlayCountManager.GetAdsActionCount(adFormat,AdPlayCountManager.CLOSE_COUNT_SUFFIX)} { "format_number",AdPlayCountManager.GetAdsActionCount(adFormat,AdPlayCountManager.CLOSE_COUNT_SUFFIX)},
{ "position_number", positionNumber},
}; };
FireBaseAnalyticsManager.Instance.LogEvent(eventName, dic);
ShuShuEvent.Instance.Track(eventName, dic); RushSDKManager.Instance.LogEvent(eventName, dic);
LoggerUtils.Debug("[actionevent] TrackAdClosed"+JsonMapper.ToJson(dic)); LoggerUtils.Debug("[actionevent] TrackAdClosed"+JsonMapper.ToJson(dic));
} }
public static void TrackAdStartLoad(PlatformType adPlatform, AdsType adFormat) public static void TrackAdStartLoad(PlatformType adPlatform, AdsType adFormat,string adUnit)
{ {
AdPlayCountManager.IncrementAdsActionCount(adFormat, AdPlayCountManager.STARTLOAD_COUNT_SUFFIX); AdPlayCountManager.IncrementAdsActionCount(adFormat, AdPlayCountManager.STARTLOAD_COUNT_SUFFIX);
var eventName = "ad_start_load"; var eventName = "ad_start_load";
var dic = new Dictionary<string, object> { var dic = new Dictionary<string, object> {
{ "ad_platform", adPlatform.ToString()}, { "ad_platform", adPlatform.ToString()},
{ "ad_unit_name", adUnit},
{ "ad_format", adFormat.ToString()}, { "ad_format", adFormat.ToString()},
{ "number",AdPlayCountManager.GetAdsActionCount(adFormat,AdPlayCountManager.STARTLOAD_COUNT_SUFFIX)} { "format_number",AdPlayCountManager.GetAdsActionCount(adFormat,AdPlayCountManager.STARTLOAD_COUNT_SUFFIX)}
}; };
FireBaseAnalyticsManager.Instance.LogEvent(eventName, dic);
ShuShuEvent.Instance.Track(eventName, dic); RushSDKManager.Instance.LogEvent(eventName, dic);
LoggerUtils.Debug("[actionevent] TrackAdStartLoad"+JsonMapper.ToJson(dic)); LoggerUtils.Debug("[actionevent] TrackAdStartLoad"+JsonMapper.ToJson(dic));
} }
@ -142,10 +94,9 @@ namespace WZ
{ "ad_unit_name", adUnitName}, { "ad_unit_name", adUnitName},
{ "ad_format", adFormat.ToString()}, { "ad_format", adFormat.ToString()},
{ "pass_time", (int)Math.Ceiling(loadTime)}, { "pass_time", (int)Math.Ceiling(loadTime)},
{ "number",AdPlayCountManager.GetAdsActionCount(adFormat,AdPlayCountManager.LOADED_COUNT_SUFFIX)} { "format_number",AdPlayCountManager.GetAdsActionCount(adFormat,AdPlayCountManager.LOADED_COUNT_SUFFIX)}
}; };
FireBaseAnalyticsManager.Instance.LogEvent(eventName, dic); RushSDKManager.Instance.LogEvent(eventName, dic);
ShuShuEvent.Instance.Track(eventName, dic);
LoggerUtils.Debug("[actionevent] TrackAdLoaded"+JsonMapper.ToJson(dic)); LoggerUtils.Debug("[actionevent] TrackAdLoaded"+JsonMapper.ToJson(dic));
} }
public static void TrackAdFailToLoad(PlatformType adPlatform, string adSource, string adUnitName, AdsType adFormat, double loadTime, string reason) public static void TrackAdFailToLoad(PlatformType adPlatform, string adSource, string adUnitName, AdsType adFormat, double loadTime, string reason)
@ -161,24 +112,33 @@ namespace WZ
{ "reason", reason}, { "reason", reason},
{ "number",AdPlayCountManager.GetAdsActionCount(adFormat,AdPlayCountManager.LOADFAIL_COUNT_SUFFIX)} { "number",AdPlayCountManager.GetAdsActionCount(adFormat,AdPlayCountManager.LOADFAIL_COUNT_SUFFIX)}
}; };
FireBaseAnalyticsManager.Instance.LogEvent(eventName, dic);
ShuShuEvent.Instance.Track(eventName, dic); RushSDKManager.Instance.LogEvent(eventName, dic);
LoggerUtils.Debug("[actionevent] TrackAdFailToLoad"+JsonMapper.ToJson(dic)); LoggerUtils.Debug("[actionevent] TrackAdFailToLoad"+JsonMapper.ToJson(dic));
} }
public static void TrackAdFailToShow(AdsType adFormat, string pos, AdsShowFailType adShowFailType) public static void TrackAdFailToShow(AdsType adFormat, string pos,
string adPlatform, string adSource, string adUnitName,
int positionNumber,NativeType nativeType, string errorCode,
string errorMsg)
{ {
AdPlayCountManager.IncrementAdsActionCount(adFormat, AdPlayCountManager.SHOWFAIL_COUNT_SUFFIX); AdPlayCountManager.IncrementAdsActionCount(adFormat, AdPlayCountManager.SHOWFAIL_COUNT_SUFFIX);
AdsSDKManager.Instance.otherAdsOnShow = false; AdsSDKManager.Instance.otherAdsOnShow = false;
var eventName = "ad_show_fail"; var eventName = "ad_show_fail";
var dic = new Dictionary<string, object> { var dic = new Dictionary<string, object> {
{ "ad_format", adFormat.ToString()}, { "ad_format", adFormat.ToString()},
{ "reason", adShowFailType.ToString()},
{ "position", pos}, { "position", pos},
{ "number",AdPlayCountManager.GetAdsActionCount(adFormat,AdPlayCountManager.SHOWFAIL_COUNT_SUFFIX)} { "format_number",AdPlayCountManager.GetAdsActionCount(adFormat,AdPlayCountManager.SHOWFAIL_COUNT_SUFFIX)},
{ "ad_platform", adPlatform},
{ "ad_source", adSource},
{ "ad_unit_name", adUnitName},
{ "position_number", positionNumber},
{ "native_type", nativeType},
{ "errorCode ", errorCode},
{ "errorMessage", errorMsg}
}; };
FireBaseAnalyticsManager.Instance.LogEvent(eventName, dic);
ShuShuEvent.Instance.Track(eventName, dic); RushSDKManager.Instance.LogEvent(eventName, dic);
LoggerUtils.Debug("[actionevent] TrackAdFailToShow"+JsonMapper.ToJson(dic)); LoggerUtils.Debug("[actionevent] TrackAdFailToShow"+JsonMapper.ToJson(dic));
} }
@ -191,10 +151,10 @@ namespace WZ
{ "position", pos}, { "position", pos},
{ "backgroundTime", backgroundTime}, { "backgroundTime", backgroundTime},
{ "splashSwitch",splashSwitch}, { "splashSwitch",splashSwitch},
{ "number",AdPlayCountManager.GetAdsActionCount(adFormat,AdPlayCountManager.ADPOSITION_COUNT_SUFFIX)} { "position_number",AdPlayCountManager.GetAdsActionCount(adFormat,AdPlayCountManager.ADPOSITION_COUNT_SUFFIX)}
}; };
FireBaseAnalyticsManager.Instance.LogEvent(eventName, dic);
ShuShuEvent.Instance.Track(eventName, dic); RushSDKManager.Instance.LogEvent(eventName, dic);
LoggerUtils.Debug("[actionevent] TrackAdPosition"+JsonMapper.ToJson(dic)); LoggerUtils.Debug("[actionevent] TrackAdPosition"+JsonMapper.ToJson(dic));
} }
} }

View File

@ -70,7 +70,7 @@ namespace WZ
ATRewardedAutoVideo.Instance.client.onRewardEvent += OnAdRewardEvent; ATRewardedAutoVideo.Instance.client.onRewardEvent += OnAdRewardEvent;
ATRewardedAutoVideo.Instance.addAutoLoadAdPlacementID(new string[] { _topon_rewarded_units }); ATRewardedAutoVideo.Instance.addAutoLoadAdPlacementID(new string[] { _topon_rewarded_units });
AdsActionEvents.TrackAdStartLoad(Platfrom, AdsType.Rewarded); AdsActionEvents.TrackAdStartLoad(Platfrom, AdsType.Rewarded,_topon_rewarded_units);
} }
public void LoadRewarded() { } public void LoadRewarded() { }
@ -103,7 +103,7 @@ namespace WZ
ATInterstitialAutoAd.Instance.client.onAdShowFailureEvent += OnAdVideoFailureEvent; ATInterstitialAutoAd.Instance.client.onAdShowFailureEvent += OnAdVideoFailureEvent;
ATInterstitialAutoAd.Instance.client.onAdClickEvent += OnAdVideoClickedEvent; ATInterstitialAutoAd.Instance.client.onAdClickEvent += OnAdVideoClickedEvent;
ATInterstitialAutoAd.Instance.addAutoLoadAdPlacementID(new string[] { _topon_interstitial_units }); ATInterstitialAutoAd.Instance.addAutoLoadAdPlacementID(new string[] { _topon_interstitial_units });
AdsActionEvents.TrackAdStartLoad(Platfrom, AdsType.Interstitial); AdsActionEvents.TrackAdStartLoad(Platfrom, AdsType.Interstitial,_topon_interstitial_units);
} }
public void LoadInterstitial() { } public void LoadInterstitial() { }
@ -132,6 +132,8 @@ namespace WZ
ATBannerAd.Instance.client.onAdImpressEvent += OnAdVideoStartEvent; ATBannerAd.Instance.client.onAdImpressEvent += OnAdVideoStartEvent;
ATBannerAd.Instance.client.onAdAutoRefreshEvent += OnAdVideoStartEvent; ATBannerAd.Instance.client.onAdAutoRefreshEvent += OnAdVideoStartEvent;
LoadBannerAd(); LoadBannerAd();
AdsActionEvents.TrackAdStartLoad(Platfrom, AdsType.Banner,_topon_banner_units);
} }
public void LoadBannerAd() public void LoadBannerAd()
{ {
@ -255,6 +257,18 @@ namespace WZ
_ivCloseCallback = null; _ivCloseCallback = null;
} }
}, ""); }, "");
var posNum = AdPlayCountManager.GetAdsActionCount(erg.placementId.Equals(_topon_rewarded_units)? AdsType.Rewarded : AdsType.Interstitial,erg.placementId.Equals(_topon_rewarded_units)? _rvPos : _ivPos + AdPlayCountManager.POS_SUFFIX);
AdsActionEvents.TrackAdFailToShow(erg.placementId.Equals(_topon_rewarded_units)? AdsType.Rewarded : AdsType.Interstitial,
erg.placementId.Equals(_topon_rewarded_units)? _rvPos : _ivPos,
PlatformType.Topon.ToString(),
ClientName + "_" + erg.callbackInfo.network_firm_id,
erg.callbackInfo.adunit_id,
posNum,
NativeType.None,erg.errorCode,
erg.errorMessage
);
} }
private void OnAdRewardEvent(object sender, ATAdEventArgs erg) private void OnAdRewardEvent(object sender, ATAdEventArgs erg)
@ -271,7 +285,8 @@ namespace WZ
erg.callbackInfo.adunit_id, erg.callbackInfo.adunit_id,
erg.placementId.Equals(_topon_rewarded_units) ? AdsType.Rewarded : AdsType.Interstitial, erg.placementId.Equals(_topon_rewarded_units) ? AdsType.Rewarded : AdsType.Interstitial,
erg.placementId.Equals(_topon_rewarded_units) ? _rvPos : _ivPos, erg.placementId.Equals(_topon_rewarded_units) ? _rvPos : _ivPos,
erg.callbackInfo.publisher_revenue); erg.callbackInfo.publisher_revenue,
AdPlayCountManager.GetAdsActionCount(erg.placementId.Equals(_topon_rewarded_units) ? AdsType.Rewarded : AdsType.Interstitial,erg.placementId.Equals(_topon_rewarded_units) ? _rvPos : _ivPos + AdPlayCountManager.POS_SUFFIX));
ThreadUtils.QueueOnMainThread(pObj => ThreadUtils.QueueOnMainThread(pObj =>
{ {
@ -298,7 +313,9 @@ namespace WZ
erg.callbackInfo.adunit_id, erg.callbackInfo.adunit_id,
erg.placementId.Equals(_topon_rewarded_units) ? AdsType.Rewarded : AdsType.Interstitial, erg.placementId.Equals(_topon_rewarded_units) ? AdsType.Rewarded : AdsType.Interstitial,
erg.placementId.Equals(_topon_rewarded_units) ? _rvPos : _ivPos, erg.placementId.Equals(_topon_rewarded_units) ? _rvPos : _ivPos,
erg.callbackInfo.publisher_revenue); erg.callbackInfo.publisher_revenue,
AdPlayCountManager.GetAdsActionCount(erg.placementId.Equals(_topon_rewarded_units) ? AdsType.Rewarded : AdsType.Interstitial,erg.placementId.Equals(_topon_rewarded_units) ? _rvPos : _ivPos+AdPlayCountManager.POS_SUFFIX),
NativeType.None);
ThreadUtils.QueueOnMainThread(pObj => ThreadUtils.QueueOnMainThread(pObj =>
{ {
@ -330,7 +347,7 @@ namespace WZ
return false; return false;
} }
public void DisplayNative(string _adPos, string adUnitId, NativeAdPosition position) public void DisplayNative(string _adPos, string adUnitId, NativeAdPosition position, NativeType nativeType)
{ {
} }
@ -384,13 +401,20 @@ namespace WZ
erg.placementId.Equals(_topon_rewarded_units) ? _rvPos : _ivPos, erg.placementId.Equals(_topon_rewarded_units) ? _rvPos : _ivPos,
AdPlayCountManager.GetAdsActionCount(adsType,AdPlayCountManager.PLAY_COUNT_SUFFIX)); AdPlayCountManager.GetAdsActionCount(adsType,AdPlayCountManager.PLAY_COUNT_SUFFIX));
var positionNumKey = _pos;
if(string.IsNullOrEmpty(positionNumKey)) positionNumKey = "Banner";
ShuShuEvent.Instance.OnAdRevenueEvent(ClientName, ShuShuEvent.Instance.OnAdRevenueEvent(ClientName,
ClientName + "_" + erg.callbackInfo.network_firm_id, ClientName + "_" + erg.callbackInfo.network_firm_id,
erg.callbackInfo.adunit_id, erg.callbackInfo.adunit_id,
adsType.ToString(), adsType,
erg.callbackInfo.publisher_revenue, erg.callbackInfo.publisher_revenue,
_pos, _pos,
AdPlayCountManager.GetAdsActionCount(adsType,AdPlayCountManager.PLAY_COUNT_SUFFIX)); AdPlayCountManager.GetAdsActionCount(adsType,AdPlayCountManager.PLAY_COUNT_SUFFIX),
AdPlayCountManager.GetAdsActionCount(adsType,positionNumKey+AdPlayCountManager.POS_SUFFIX),
NativeType.None
);
} }
#endregion #endregion

View File

@ -7,6 +7,7 @@ namespace WZ
{ {
public class AdPlayCountManager public class AdPlayCountManager
{ {
public const string POS_SUFFIX = "_POS_COUNT";
public const string PLAY_COUNT_SUFFIX = "_PLAY_COUNT"; public const string PLAY_COUNT_SUFFIX = "_PLAY_COUNT";
public const string CLICK_COUNT_SUFFIX = "_CLICK_COUNT"; public const string CLICK_COUNT_SUFFIX = "_CLICK_COUNT";
public const string CLOSE_COUNT_SUFFIX = "_CLOSE_COUNT"; public const string CLOSE_COUNT_SUFFIX = "_CLOSE_COUNT";