From c836a5b38f111043ccd2c1d5fc3797dbdce96d99 Mon Sep 17 00:00:00 2001 From: juncong lee Date: Sun, 31 Aug 2025 16:26:53 +0800 Subject: [PATCH] =?UTF-8?q?admob=20adjust=E6=94=B6=E7=9B=8A=E4=B8=8A?= =?UTF-8?q?=E6=8A=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AdmobAdsManager/AdmobAdsManager.cs | 19 +++++-- .../AdmobAdsManager/AdmobBannerAdManager.cs | 4 ++ .../AdmobInterstitialAdManager.cs | 7 ++- .../AdmobAdsManager/AdmobRewardedAdManager.cs | 6 ++- .../AdmobAdsManager/AdmobSplashAdManager.cs | 6 ++- .../AdmobAdsManager/Utils/AdmobTools.cs | 19 +++++++ .../SDKManager/AdsSDKManager/Events.meta | 8 +++ .../AdsSDKManager/Events/AdsEvents.meta | 8 +++ .../Events/AdsEvents/AdsActionEvents.cs | 53 +++++++++++++++++++ .../Events/AdsEvents/AdsActionEvents.cs.meta | 2 + 10 files changed, 124 insertions(+), 8 deletions(-) create mode 100644 Assets/Script/SDKManager/AdsSDKManager/Events.meta create mode 100644 Assets/Script/SDKManager/AdsSDKManager/Events/AdsEvents.meta create mode 100644 Assets/Script/SDKManager/AdsSDKManager/Events/AdsEvents/AdsActionEvents.cs create mode 100644 Assets/Script/SDKManager/AdsSDKManager/Events/AdsEvents/AdsActionEvents.cs.meta diff --git a/Assets/Script/SDKManager/AdsSDKManager/AdmobAdsManager/AdmobAdsManager.cs b/Assets/Script/SDKManager/AdsSDKManager/AdmobAdsManager/AdmobAdsManager.cs index 1a2aeb1..5d99b53 100644 --- a/Assets/Script/SDKManager/AdsSDKManager/AdmobAdsManager/AdmobAdsManager.cs +++ b/Assets/Script/SDKManager/AdsSDKManager/AdmobAdsManager/AdmobAdsManager.cs @@ -260,7 +260,7 @@ namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager private void OnSplashAdDismissed(string adUnitId) { - + } private void OnSplashAdError(string adUnitId, int errorCode, string errorMsg) @@ -335,15 +335,15 @@ namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager { _admobBannerAdManager.ShowHighestPayingAd(); } - + private void OnBannerAdLoaded(string adUnitId) - { + { } private void OnBannerAdLoadFailed(string adUnitId, int errorCode, string errorMsg) - { + { } @@ -353,11 +353,20 @@ namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager } private void OnBannerAdPaid(AdValue adValue) - { + { } #endregion + #region 收益上报 + public static void TrackAdImpression(AdapterResponseInfo loadedAdapterResponseInfo, AdValue adValue, AdsType type,string placement) + { + AdjustTrackEvent.Instance.TrackAdEvent(adValue.Value / 1000000f,loadedAdapterResponseInfo.AdSourceName,placement,loadedAdapterResponseInfo.AdSourceInstanceName); + + } + + #endregion + } } diff --git a/Assets/Script/SDKManager/AdsSDKManager/AdmobAdsManager/AdmobBannerAdManager.cs b/Assets/Script/SDKManager/AdsSDKManager/AdmobAdsManager/AdmobBannerAdManager.cs index d16bfcf..eb4b2c3 100644 --- a/Assets/Script/SDKManager/AdsSDKManager/AdmobAdsManager/AdmobBannerAdManager.cs +++ b/Assets/Script/SDKManager/AdsSDKManager/AdmobAdsManager/AdmobBannerAdManager.cs @@ -65,6 +65,10 @@ namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager bannerAds.OnAdPaid += ((adValue) => { LoggerUtils.Debug($"[Admob] banner -[interaction]: {adUnitId} show"); + AdmobAdsManager.TrackAdImpression(bannerAds.GetResponseInfo().GetLoadedAdapterResponseInfo(), + adValue, + AdsType.Banner, + AdmobUtils.ParseResponseInfo(bannerAds.GetResponseInfo())); OnAdPaid?.Invoke(adValue); }); diff --git a/Assets/Script/SDKManager/AdsSDKManager/AdmobAdsManager/AdmobInterstitialAdManager.cs b/Assets/Script/SDKManager/AdsSDKManager/AdmobAdsManager/AdmobInterstitialAdManager.cs index 743c3fc..b5cb3f4 100644 --- a/Assets/Script/SDKManager/AdsSDKManager/AdmobAdsManager/AdmobInterstitialAdManager.cs +++ b/Assets/Script/SDKManager/AdsSDKManager/AdmobAdsManager/AdmobInterstitialAdManager.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using GoogleMobileAds.Api; using Script.SDKManager.AdsSDKManager.AdmobAdsManager.Utils; using Script.Utils; +using SDKManager.AdsSDKManager.Constant; namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager { @@ -57,7 +58,11 @@ namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager ad.OnAdPaid += (AdValue adValue) => { LoggerUtils.Debug(String.Format("[Admob] Interstitial ad paid {0} {1}.", adValue.Value, adValue.CurrencyCode)); - // ivRevenue = adValue.Value / 1000000f; + AdmobAdsManager.TrackAdImpression(ad.GetResponseInfo().GetLoadedAdapterResponseInfo(), + adValue, + AdsType.Interstitial, + AdmobUtils.ParseResponseInfo(ad.GetResponseInfo())); + onAdPaid?.Invoke(adValue); }; diff --git a/Assets/Script/SDKManager/AdsSDKManager/AdmobAdsManager/AdmobRewardedAdManager.cs b/Assets/Script/SDKManager/AdsSDKManager/AdmobAdsManager/AdmobRewardedAdManager.cs index 9f02dff..eb7b071 100644 --- a/Assets/Script/SDKManager/AdsSDKManager/AdmobAdsManager/AdmobRewardedAdManager.cs +++ b/Assets/Script/SDKManager/AdsSDKManager/AdmobAdsManager/AdmobRewardedAdManager.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using GoogleMobileAds.Api; using Script.SDKManager.AdsSDKManager.AdmobAdsManager.Utils; using Script.Utils; +using SDKManager.AdsSDKManager.Constant; namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager { @@ -57,7 +58,10 @@ namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager ad.OnAdPaid += (AdValue adValue) => { LoggerUtils.Debug(String.Format("[Admob] rewarded ad paid {0} {1}.", adValue.Value, adValue.CurrencyCode)); - // ivRevenue = adValue.Value / 1000000f; + AdmobAdsManager.TrackAdImpression(ad.GetResponseInfo().GetLoadedAdapterResponseInfo(), + adValue, + AdsType.Rewarded, + AdmobUtils.ParseResponseInfo(ad.GetResponseInfo())); onAdPaid?.Invoke(adValue); }; diff --git a/Assets/Script/SDKManager/AdsSDKManager/AdmobAdsManager/AdmobSplashAdManager.cs b/Assets/Script/SDKManager/AdsSDKManager/AdmobAdsManager/AdmobSplashAdManager.cs index de1b16e..ab1aec9 100644 --- a/Assets/Script/SDKManager/AdsSDKManager/AdmobAdsManager/AdmobSplashAdManager.cs +++ b/Assets/Script/SDKManager/AdsSDKManager/AdmobAdsManager/AdmobSplashAdManager.cs @@ -4,6 +4,7 @@ using System.Collections.Generic; using GoogleMobileAds.Api; using Script.SDKManager.AdsSDKManager.AdmobAdsManager.Utils; using Script.Utils; +using SDKManager.AdsSDKManager.Constant; using UnityEngine; namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager @@ -59,7 +60,10 @@ namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager ad.OnAdPaid += (AdValue adValue) => { LoggerUtils.Debug(String.Format("[Admob] appopen ad paid {0} {1}.", adValue.Value, adValue.CurrencyCode)); - // ivRevenue = adValue.Value / 1000000f; + AdmobAdsManager.TrackAdImpression(ad.GetResponseInfo().GetLoadedAdapterResponseInfo(), + adValue, + AdsType.Splash, + AdmobUtils.ParseResponseInfo(ad.GetResponseInfo())); onAdPaid?.Invoke(adValue); }; diff --git a/Assets/Script/SDKManager/AdsSDKManager/AdmobAdsManager/Utils/AdmobTools.cs b/Assets/Script/SDKManager/AdsSDKManager/AdmobAdsManager/Utils/AdmobTools.cs index 45e3867..dde317b 100644 --- a/Assets/Script/SDKManager/AdsSDKManager/AdmobAdsManager/Utils/AdmobTools.cs +++ b/Assets/Script/SDKManager/AdsSDKManager/AdmobAdsManager/Utils/AdmobTools.cs @@ -4,11 +4,30 @@ using System.Reflection; using GoogleMobileAds.Api; using Script.Utils; using UnityEngine; +using Newtonsoft.Json.Linq; namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager.Utils { public class AdmobUtils { + public static string ParseResponseInfo(ResponseInfo responseInfo) + { + string pubid = ""; + + try + { + string responseInfoJson = responseInfo.ToString(); + JObject responseInfoObj = JObject.Parse(responseInfoJson); + JToken loadedAdapterResponse = responseInfoObj["Response Extras"]; + + if (loadedAdapterResponse != null) + { + pubid = loadedAdapterResponse["mediation_group_name"]?.ToString(); + } + } + catch { } + return pubid; + } public static double GetBannerEcpm(BannerView bannerView) { return GetEcpm(bannerView, "bannerView", "adView", BannerStack); diff --git a/Assets/Script/SDKManager/AdsSDKManager/Events.meta b/Assets/Script/SDKManager/AdsSDKManager/Events.meta new file mode 100644 index 0000000..599ec48 --- /dev/null +++ b/Assets/Script/SDKManager/AdsSDKManager/Events.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3aa8138bd8fe9499e90cff5ec0ed83fe +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Script/SDKManager/AdsSDKManager/Events/AdsEvents.meta b/Assets/Script/SDKManager/AdsSDKManager/Events/AdsEvents.meta new file mode 100644 index 0000000..596695b --- /dev/null +++ b/Assets/Script/SDKManager/AdsSDKManager/Events/AdsEvents.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9cffde25188404f09b338ea8f2444e82 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Script/SDKManager/AdsSDKManager/Events/AdsEvents/AdsActionEvents.cs b/Assets/Script/SDKManager/AdsSDKManager/Events/AdsEvents/AdsActionEvents.cs new file mode 100644 index 0000000..d05abb4 --- /dev/null +++ b/Assets/Script/SDKManager/AdsSDKManager/Events/AdsEvents/AdsActionEvents.cs @@ -0,0 +1,53 @@ +using System.Collections; +using System.Collections.Generic; +using DKManager.AdsSDKManager.Constant; +using Script.Utils; +using SDKManager.AdsSDKManager.Constant; +using UnityEngine; + +namespace SDKManager.AdsSDKManager.Events.AdsEvents +{ + public class AdsActionEvents + { + public static void TrackAdClicked(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) + { + + } + + public static void TrackAdStartLoad(PlatformType adPlatform, string adSource, string adUnitName, AdsType adFormat) + { + + + } + + public static void TrackAdLoaded(PlatformType adPlatform, string adSource, string adUnitName, AdsType adFormat, double loadTime) + { + + } + public static void TrackAdFailToLoad(PlatformType adPlatform, string adSource, string adUnitName, AdsType adFormat, double loadTime, string reason) + { + + } + + public static void TrackAdFailToShow(PlatformType adPlatform, AdsType adFormat, string reason, string pos) + { + + } + + public static void TrackAdPosition(PlatformType adPlatform, AdsType adFormat, string pos) + { + + } + + public static void TrackAdImpression(PlatformType adPlatform, string adSource, string adUnitName, AdsType adFormat, string posotion, double value) + { + + } + + } +} diff --git a/Assets/Script/SDKManager/AdsSDKManager/Events/AdsEvents/AdsActionEvents.cs.meta b/Assets/Script/SDKManager/AdsSDKManager/Events/AdsEvents/AdsActionEvents.cs.meta new file mode 100644 index 0000000..4df6b10 --- /dev/null +++ b/Assets/Script/SDKManager/AdsSDKManager/Events/AdsEvents/AdsActionEvents.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 119ab55aa6c4f47b4b70af88ad977987 \ No newline at end of file