From 33837645b56534f56d9fd90d864c02184463d94c Mon Sep 17 00:00:00 2001 From: juncong lee Date: Wed, 3 Sep 2025 19:58:43 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=92=AD=E6=94=BE=E5=AE=8C?= =?UTF-8?q?=E6=BF=80=E5=8A=B1=E5=B1=95=E7=A4=BA=E5=BC=80=E5=B1=8F/?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E9=87=8D=E5=A4=8D=E4=B8=8A=E6=8A=A5/?= =?UTF-8?q?=E9=80=80=E5=87=BA=E5=90=8E=E5=8F=B0=E5=8F=91=E6=94=BE=E5=A5=96?= =?UTF-8?q?=E5=8A=B1=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AdmobAdsManager/AdmobAdsManager.cs | 17 +++++---- .../AdmobAdsManager/AdmobRewardedAdManager.cs | 10 +++--- .../SDKManager/AdsSDKManager/AdsSDKManager.cs | 35 +++++-------------- .../AdsSDKManager/AdsSplashManager.cs | 3 +- .../BigoAdsManager/BigoAdsManager.cs | 5 ++- .../Events/AdsEvents/AdsActionEvents.cs | 18 ---------- .../KwaiAdsManager/KwaiAdsManager.cs | 7 ---- .../MaxAdsManager/MaxAdsManager.cs | 28 +++++++++------ .../TpnAdsManager/TpnAdsManager.cs | 25 ++++++------- Assets/Script/SDKManager/AppSDKManager.cs | 15 +++++++- 10 files changed, 70 insertions(+), 93 deletions(-) diff --git a/Assets/Script/SDKManager/AdsSDKManager/AdmobAdsManager/AdmobAdsManager.cs b/Assets/Script/SDKManager/AdsSDKManager/AdmobAdsManager/AdmobAdsManager.cs index c0cb237..e0d61b5 100644 --- a/Assets/Script/SDKManager/AdsSDKManager/AdmobAdsManager/AdmobAdsManager.cs +++ b/Assets/Script/SDKManager/AdsSDKManager/AdmobAdsManager/AdmobAdsManager.cs @@ -34,6 +34,7 @@ namespace WZ private float _spStartLoadTime = 0; public bool _splashLoaded = false; public bool _initialized { get; private set; } = false; + private bool _receivedReward = false; public void Initialize() { @@ -46,11 +47,11 @@ namespace WZ if (_interstitialAdUnits.Count > 0) LoadInterstitial(); if (_rewardedAdUnits.Count > 0) LoadRewarded(); if (_splashAdUnits.Count > 0) AdsSplashManager.Instance.InitSplash(); - if (_nativeAdUnits.Count > 0)LoadNative(); + if (_nativeAdUnits.Count > 0) LoadNative(); LoggerUtils.Debug("[Admob] init success"); }); - + } public void RefreshAdsData() @@ -74,7 +75,7 @@ namespace WZ OnRewardedAdShowed, OnRewardedAdDismissed, OnRewardedAdError, - OnRewardAdPaid, + OnRewardEarnReward, OnRewardedAdClicked ); _rvStartLoadTime = Time.realtimeSinceStartup; @@ -117,8 +118,9 @@ namespace WZ private void OnRewardedAdDismissed(string adSource,string adUnitId,double revenue) { AdsActionEvents.TrackAdClosed(Platfrom,adSource,adUnitId,AdsType.Rewarded,_rvPos,revenue); - _rvCloseCallback?.Invoke(true,revenue); + _rvCloseCallback?.Invoke(_receivedReward,revenue); _rvCloseCallback = null; + _receivedReward = false; LoadRewarded(); } @@ -135,10 +137,9 @@ namespace WZ AdsActionEvents.TrackAdClicked(Platfrom,adSource,adUnitId,AdsType.Rewarded,_rvPos,revenue); } - private void OnRewardAdPaid(AdValue adValue) + private void OnRewardEarnReward(bool reward) { - - + _receivedReward = reward; } #endregion @@ -412,8 +413,6 @@ namespace WZ 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 diff --git a/Assets/Script/SDKManager/AdsSDKManager/AdmobAdsManager/AdmobRewardedAdManager.cs b/Assets/Script/SDKManager/AdsSDKManager/AdmobAdsManager/AdmobRewardedAdManager.cs index 73718e1..3265d40 100644 --- a/Assets/Script/SDKManager/AdsSDKManager/AdmobAdsManager/AdmobRewardedAdManager.cs +++ b/Assets/Script/SDKManager/AdsSDKManager/AdmobAdsManager/AdmobRewardedAdManager.cs @@ -16,12 +16,12 @@ namespace WZ Action onAdShowed = null, Action onAdDismissed = null, Action onAdError = null, - Action onAdPaid = null, + Action onEarnRewarded = null, Action onAdClicked = null) { foreach (var adUnitId in adUnitIds) { - CreateRewardedAd(adUnitId, onAdLoaded, onAdLoadFailed, onAdShowed, onAdDismissed, onAdError,onAdPaid, onAdClicked); + CreateRewardedAd(adUnitId, onAdLoaded, onAdLoadFailed, onAdShowed, onAdDismissed, onAdError,onEarnRewarded, onAdClicked); } } @@ -31,7 +31,7 @@ namespace WZ Action onAdShowed, Action onAdDismissed, Action onAdError, - Action onAdPaid, + Action onEarnRewarded, Action onAdClicked) { if (_rewardedAds.ContainsKey(adUnitId)) @@ -68,12 +68,12 @@ namespace WZ adValue, AdsType.Rewarded, adUnitId); - onAdPaid?.Invoke(adValue); }; ad.OnAdImpressionRecorded += () => { LoggerUtils.Debug("[Admob] rewarded ad recorded an impression."); + onEarnRewarded?.Invoke(true); }; ad.OnAdClicked += () => @@ -148,7 +148,7 @@ namespace WZ public string GetHighestPayingAdUnit() { string highestPayingAdUnit = null; - double highestRevenue = 0; + double highestRevenue = -1; foreach (var kvp in _adRevenueCache) { diff --git a/Assets/Script/SDKManager/AdsSDKManager/AdsSDKManager.cs b/Assets/Script/SDKManager/AdsSDKManager/AdsSDKManager.cs index 75ef4bf..6af25ab 100644 --- a/Assets/Script/SDKManager/AdsSDKManager/AdsSDKManager.cs +++ b/Assets/Script/SDKManager/AdsSDKManager/AdsSDKManager.cs @@ -69,12 +69,6 @@ namespace WZ public void ShowRewardAd(string _adPos, Action _rewardCallback = null, Action _showFailedCallback = null) { LoggerUtils.Debug("ShowRewardAd _adPos:"+_adPos+" ready:"+IsRewardAdReady()); - AdsActionEvents.TrackAdPosition(AdsType.Rewarded, _adPos); - if (!IsRewardAdReady()) - { - _showFailedCallback?.Invoke(); - return; - } otherAdsOnShow = true; PlatformType result = GetBestPlatformType(false); BidPlatformManager.Instance.RecordBidSuccess(result, AdsType.Rewarded); @@ -120,13 +114,6 @@ namespace WZ /// public void ShowInterstitialAd(string _adPos, IvType _IvType = IvType.IV1, Action _closeCallback = null) { - AdsActionEvents.TrackAdPosition(AdsType.Interstitial, _adPos); - if (!IsInterstitialReady()) - { - _closeCallback?.Invoke(0); - _closeCallback = null; - return; - } AdsSDKManager.Instance.otherAdsOnShow = true; PlatformType result = GetBestPlatformType(true); BidPlatformManager.Instance.RecordBidSuccess(result, AdsType.Interstitial); @@ -170,13 +157,10 @@ namespace WZ public void ShowBanner() { - AdsActionEvents.TrackAdPosition(AdsType.Banner, ""); - if (IsBannerAdReady()) - { - AdmobAdsManager.Instance.DisplayBanner(); - AdPlayCountManager.IncrementAdPlayCount(AdsType.Banner); - AdjustTrackEvent.Instance.TrackEventName("Banner_Show", new Dictionary()); - } + + AdmobAdsManager.Instance.DisplayBanner(); + AdPlayCountManager.IncrementAdPlayCount(AdsType.Banner); + AdjustTrackEvent.Instance.TrackEventName("Banner_Show", new Dictionary()); } public void HideBanner() @@ -194,13 +178,10 @@ namespace WZ public void ShowNativeAd(string _adPos, string adUnitId, NativeAdPosition position) { - AdsActionEvents.TrackAdPosition(AdsType.Native, ""); - if (IsNativeAdReady(adUnitId)) - { - AdmobAdsManager.Instance.DisplayNative(_adPos, adUnitId, position); - AdjustTrackEvent.Instance.TrackEventName("NA_Show", new Dictionary()); - AdPlayCountManager.IncrementAdPlayCount(AdsType.Native); - } + + AdmobAdsManager.Instance.DisplayNative(_adPos, adUnitId, position); + AdjustTrackEvent.Instance.TrackEventName("NA_Show", new Dictionary()); + AdPlayCountManager.IncrementAdPlayCount(AdsType.Native); } public void RemoveNativeAd(string adUnitId) diff --git a/Assets/Script/SDKManager/AdsSDKManager/AdsSplashManager.cs b/Assets/Script/SDKManager/AdsSDKManager/AdsSplashManager.cs index 78e7193..8af91cf 100644 --- a/Assets/Script/SDKManager/AdsSDKManager/AdsSplashManager.cs +++ b/Assets/Script/SDKManager/AdsSDKManager/AdsSplashManager.cs @@ -82,7 +82,7 @@ namespace WZ { return; } - + AdsActionEvents.TrackAdPosition(AdsType.Splash,""); if (!AdsSDKManager.Instance.IsSplashAvailable()) { LoggerUtils.Debug(" [AppOpen] 热启动 广告是否准备好:"); @@ -97,6 +97,7 @@ namespace WZ { // 冷启动 // 首次启动 + AdsActionEvents.TrackAdPosition(AdsType.Splash,""); var isNew = PlayerPrefsUtils.GetPlayerPrefsInt("Firstcold_Splash_Switch", 0) == 0; // 首次冷启动开关 var isFirstShow = GetSplashConfigItem().firstcold_splash_switch == 1; diff --git a/Assets/Script/SDKManager/AdsSDKManager/BigoAdsManager/BigoAdsManager.cs b/Assets/Script/SDKManager/AdsSDKManager/BigoAdsManager/BigoAdsManager.cs index d7014d1..b1da066 100644 --- a/Assets/Script/SDKManager/AdsSDKManager/BigoAdsManager/BigoAdsManager.cs +++ b/Assets/Script/SDKManager/AdsSDKManager/BigoAdsManager/BigoAdsManager.cs @@ -33,9 +33,10 @@ namespace WZ BigoAdSdk.OnInitFinish += () => { LoggerUtils.Debug($"[Bigo] sdk init success"); + _initialized = true; LoadRewarded(); LoadInterstitial(); - _initialized = true; + }; var config = new BigoAdConfig.Builder() @@ -268,8 +269,6 @@ namespace WZ type.ToString(), revenue, type == AdsType.Rewarded ? _rvPos : "", AdPlayCountManager.GetAdPlayCount(type)); - - AdsActionEvents.TrackAdImpression(Platfrom,ClientName,placement,type,type == AdsType.Rewarded ? _rvPos : "",revenue); } #endregion } diff --git a/Assets/Script/SDKManager/AdsSDKManager/Events/AdsEvents/AdsActionEvents.cs b/Assets/Script/SDKManager/AdsSDKManager/Events/AdsEvents/AdsActionEvents.cs index 33f11d0..2a71476 100644 --- a/Assets/Script/SDKManager/AdsSDKManager/Events/AdsEvents/AdsActionEvents.cs +++ b/Assets/Script/SDKManager/AdsSDKManager/Events/AdsEvents/AdsActionEvents.cs @@ -119,23 +119,5 @@ namespace WZ ShuShuEvent.Instance.Track(eventName, dic); LoggerUtils.Debug("[actionevent] TrackAdPosition:"+JsonMapper.ToJson(dic)); } - - public static void TrackAdImpression(PlatformType adPlatform, string adSource, string adUnitName, AdsType adFormat, string posotion, double value) - { - var eventName = "ad_impression"; - var dic = new Dictionary { - { "ad_platform", adPlatform.ToString()}, - { "ad_source", adSource}, - { "ad_unit_name", adUnitName}, - { "ad_format", adFormat.ToString()}, - { "position", posotion}, - { "value", value}, - { "currency","USD"}, - { "number",AdPlayCountManager.GetAdPlayCount(adFormat)} - }; - FireBaseAnalyticsManager.Instance.LogEvent(eventName, dic); - ShuShuEvent.Instance.Track(eventName, dic); - LoggerUtils.Debug("[actionevent] TrackAdImpression:"+JsonMapper.ToJson(dic)); - } } } \ No newline at end of file diff --git a/Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/KwaiAdsManager.cs b/Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/KwaiAdsManager.cs index 873d5e3..a3b6d98 100644 --- a/Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/KwaiAdsManager.cs +++ b/Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/KwaiAdsManager.cs @@ -193,13 +193,6 @@ namespace WZ type == AdsType.Rewarded ? _rewardAdRevenue : _interstitiaAdRevenue, type == AdsType.Rewarded ? _rvPos : "", AdPlayCountManager.GetAdPlayCount(type)); - - AdsActionEvents.TrackAdImpression(Platfrom, - ClientName, - type == AdsType.Rewarded ? _rewardAdUnitId : _interstitialAdUnitId, - type, - type == AdsType.Rewarded ? _rvPos : "", - type == AdsType.Rewarded ? _rewardAdRevenue : _interstitiaAdRevenue); } #endregion diff --git a/Assets/Script/SDKManager/AdsSDKManager/MaxAdsManager/MaxAdsManager.cs b/Assets/Script/SDKManager/AdsSDKManager/MaxAdsManager/MaxAdsManager.cs index 8953cf6..c9b8c2d 100644 --- a/Assets/Script/SDKManager/AdsSDKManager/MaxAdsManager/MaxAdsManager.cs +++ b/Assets/Script/SDKManager/AdsSDKManager/MaxAdsManager/MaxAdsManager.cs @@ -27,6 +27,7 @@ namespace WZ private Action _ivCloseCallback = null; private Action _rvShowFailedCallback = null; public bool _initialized { get; private set; } = false; + private bool _receivedReward = false; public void Initialize() { @@ -69,6 +70,7 @@ namespace WZ MaxSdkCallbacks.Rewarded.OnAdClickedEvent += OnRewardedAdClickedEvent; MaxSdkCallbacks.Rewarded.OnAdHiddenEvent += OnRewardedAdHiddenEvent; MaxSdkCallbacks.Rewarded.OnAdRevenuePaidEvent += OnRewardedRevenue; + MaxSdkCallbacks.Rewarded.OnAdReceivedRewardEvent += OnRewardedAdReceivedRewardEvent; } public void LoadRewarded() @@ -118,13 +120,15 @@ namespace WZ AdsActionEvents.TrackAdLoaded(Platfrom, adInfo.NetworkName, adInfo.AdUnitIdentifier, AdsType.Rewarded, Time.realtimeSinceStartup - _rvStartLoadTime); } + + private void OnRewardedAdLoadFailedEvent(string adunit, MaxSdkBase.ErrorInfo errorInfo) { LoggerUtils.Debug("[Max] OnRewardedAdLoadFailedEvent errorInfo" + errorInfo.Message); _rewardRetryAttempt++; double retryDelay = Math.Pow(2, Math.Min(6, _rewardRetryAttempt)); TimerUtils.Instance.DelayExecute((float)retryDelay, LoadRewarded); - AdsActionEvents.TrackAdFailToLoad(Platfrom, "","",AdsType.Rewarded,Time.realtimeSinceStartup - _rvStartLoadTime,errorInfo.Message); + AdsActionEvents.TrackAdFailToLoad(Platfrom, "", "", AdsType.Rewarded, Time.realtimeSinceStartup - _rvStartLoadTime, errorInfo.Message); } @@ -151,11 +155,22 @@ namespace WZ private void OnRewardedAdHiddenEvent(string adUnitId, MaxSdkBase.AdInfo adInfo) { - _rvCloseCallback?.Invoke(true,adInfo.Revenue); + _rvCloseCallback?.Invoke(_receivedReward,adInfo.Revenue); _rvCloseCallback = null; + _receivedReward = false; LoadRewarded(); - LoggerUtils.Debug("[Max] OnRewardedAdHiddenEvent"); + LoggerUtils.Debug("[Max] OnRewardedAdHiddenEvent "+_receivedReward); AdsActionEvents.TrackAdClosed(Platfrom,adInfo.NetworkName,adInfo.AdUnitIdentifier,AdsType.Rewarded,_rvPos,adInfo.Revenue); + } + + private void OnRewardedAdReceivedRewardEvent(string adUnitId, MaxSdk.Reward reward, MaxSdkBase.AdInfo arg3) + { + LoggerUtils.Debug("[Max] OnRewardedAdReceivedRewardEvent network: " + arg3.NetworkName + " revenue: " + arg3.Revenue + " NetworkPlacement: " + arg3.NetworkPlacement + " AdUnitIdentifier: " + arg3.AdUnitIdentifier + " Placement: " + arg3.Placement); + _receivedReward = true; + } + + private void RewardCallback() + { } @@ -324,13 +339,6 @@ namespace WZ adInfo.Revenue, type == AdsType.Rewarded ? _rvPos : "", AdPlayCountManager.GetAdPlayCount(type)); - - AdsActionEvents.TrackAdImpression(Platfrom, - adInfo.NetworkName, - adInfo.AdUnitIdentifier, - type, - type == AdsType.Rewarded ? _rvPos : "", - adInfo.Revenue); } #endregion } diff --git a/Assets/Script/SDKManager/AdsSDKManager/TpnAdsManager/TpnAdsManager.cs b/Assets/Script/SDKManager/AdsSDKManager/TpnAdsManager/TpnAdsManager.cs index 668c0ea..6b44ea2 100644 --- a/Assets/Script/SDKManager/AdsSDKManager/TpnAdsManager/TpnAdsManager.cs +++ b/Assets/Script/SDKManager/AdsSDKManager/TpnAdsManager/TpnAdsManager.cs @@ -23,18 +23,20 @@ namespace WZ private Action _ivCloseCallback = null; private Action _rvShowFailedCallback = null; public bool _initialized { get; private set; } = false; + private bool _receivedReward = false; public void Initialize() { - + LoggerUtils.Debug("[Tpn] 初始化 Tpn 广告 SDK appid:" + _topon_app_id + " appkey:" + _topon_app_key + " ivId:" + _topon_interstitial_units + " rvId:" + _topon_rewarded_units); - if(_initialized )return; + if (_initialized) return; if (!string.IsNullOrEmpty(_topon_app_id) && !string.IsNullOrEmpty(_topon_app_key)) { ATSDKAPI.initSDK(_topon_app_id, _topon_app_key); + _initialized = true; ATSDKAPI.setLogDebug(false); InitRewarded(); InitInterstitial(); - _initialized = true; + } } @@ -55,6 +57,7 @@ namespace WZ ATRewardedAutoVideo.Instance.client.onAdVideoStartEvent += OnAdVideoStartEvent; ATRewardedAutoVideo.Instance.client.onAdVideoFailureEvent += OnAdVideoFailureEvent; ATRewardedAutoVideo.Instance.client.onAdClickEvent += OnAdVideoClickedEvent; + ATRewardedAutoVideo.Instance.client.onRewardEvent += OnAdRewardEvent; ATRewardedAutoVideo.Instance.addAutoLoadAdPlacementID(new string[] { _topon_rewarded_units }); AdsActionEvents.TrackAdStartLoad(Platfrom, "", "", AdsType.Rewarded); @@ -183,7 +186,11 @@ namespace WZ }, ""); } - + private void OnAdRewardEvent(object sender, ATAdEventArgs erg) + { + LoggerUtils.Debug("[Tpn] 广告奖励"); + _receivedReward = true; + } private void OnAdVideoClosedEvent(object sender, ATAdEventArgs erg) { LoggerUtils.Debug("[Tpn] 广告关闭了:" + JsonMapper.ToJson(erg.callbackInfo.toDictionary())); @@ -199,8 +206,9 @@ namespace WZ { if (erg.placementId.Equals(_topon_rewarded_units)) { - _rvCloseCallback?.Invoke(true,erg.callbackInfo.publisher_revenue); + _rvCloseCallback?.Invoke(_receivedReward, erg.callbackInfo.publisher_revenue); _rvCloseCallback = null; + _receivedReward = false; } else if (erg.placementId.Equals(_topon_interstitial_units)) { @@ -304,13 +312,6 @@ namespace WZ erg.callbackInfo.publisher_revenue, erg.placementId.Equals(_topon_rewarded_units) ? _rvPos : "", AdPlayCountManager.GetAdPlayCount(erg.placementId.Equals(_topon_rewarded_units) ? AdsType.Rewarded : AdsType.Interstitial)); - - AdsActionEvents.TrackAdImpression(Platfrom, - ClientName + "_" + erg.callbackInfo.network_firm_id, - erg.callbackInfo.adunit_id, - erg.placementId.Equals(_topon_rewarded_units) ? AdsType.Rewarded : AdsType.Interstitial, - erg.placementId.Equals(_topon_rewarded_units) ? _rvPos : "", - erg.callbackInfo.publisher_revenue); } #endregion } diff --git a/Assets/Script/SDKManager/AppSDKManager.cs b/Assets/Script/SDKManager/AppSDKManager.cs index 2a6ac36..13c6dbf 100644 --- a/Assets/Script/SDKManager/AppSDKManager.cs +++ b/Assets/Script/SDKManager/AppSDKManager.cs @@ -54,11 +54,13 @@ public class AppSDKManager : D_MonoSingleton /// public void ShowRewardAd(string position, Action callback = null) { + AdsActionEvents.TrackAdPosition(AdsType.Rewarded, position); bool isRewardAdReady = AdsSDKManager.Instance.IsRewardAdReady(); if (isRewardAdReady) { AdsSDKManager.Instance.ShowRewardAd(position, (isReward, revenue) => { + AdsSplashManager.Instance.backgroundTime = Time.realtimeSinceStartup; if (isReward) { AdsSDKManager.Instance.ClearIvRules(); @@ -92,6 +94,7 @@ public class AppSDKManager : D_MonoSingleton /// public void ShowInterstitial(string position, IvType ivadType = IvType.IV1, Action callback = null) { + AdsActionEvents.TrackAdPosition(AdsType.Interstitial, position); //插屏展示逻辑 bool ivRulesShow = AdsSDKManager.Instance.IvRulesShow(ivadType); if (ivRulesShow) @@ -105,6 +108,7 @@ public class AppSDKManager : D_MonoSingleton //展示完一个插屏之后调用 IvRulesConst.OverLevels[ivadType.ToString()] = 0; IvRulesConst.Intervals[ivadType.ToString()] = TimeUtils.GetLocalTimestamp(); + AdsSplashManager.Instance.backgroundTime = Time.realtimeSinceStartup; callback?.Invoke(revenue); }); } @@ -121,7 +125,12 @@ public class AppSDKManager : D_MonoSingleton public void ShowBanner() { - AdsSDKManager.Instance.ShowBanner(); + AdsActionEvents.TrackAdPosition(AdsType.Banner, ""); + if (AdsSDKManager.Instance.IsBannerAdReady()) + { + AdsSDKManager.Instance.ShowBanner(); + } + } public void HideBanner() @@ -137,6 +146,7 @@ public class AppSDKManager : D_MonoSingleton public void ShowFullNative(RectTransform rectTransform, Camera pCom = null, string position = "") { + AdsActionEvents.TrackAdPosition(AdsType.Native, position); if (!IsNativeFullReady()) { return; @@ -166,6 +176,7 @@ public class AppSDKManager : D_MonoSingleton public void ShowNative(RectTransform rectTransform, Camera pCom = null, string position = "") { + AdsActionEvents.TrackAdPosition(AdsType.Native, position); if (!IsNativeReady()) { return; @@ -195,6 +206,7 @@ public class AppSDKManager : D_MonoSingleton public void ShowSmallNative(RectTransform rectTransform, Camera pCom = null, string position = "") { + AdsActionEvents.TrackAdPosition(AdsType.Native, position); if (!IsSmallNativeReady()) { return; @@ -224,6 +236,7 @@ public class AppSDKManager : D_MonoSingleton public void ShowMinddleNative(RectTransform rectTransform, Camera pCom = null, string position = "") { + AdsActionEvents.TrackAdPosition(AdsType.Native, position); if (!IsSmallNativeReady()) { return;