修复admob GetResponseInfo为空的问题

This commit is contained in:
juncong lee 2025-09-24 17:47:05 +08:00
parent 702ec24651
commit 3bcbb66f1f
9 changed files with 53 additions and 36 deletions

View File

@ -19,7 +19,7 @@ namespace WZ
string bundleId = GetBundleId(); string bundleId = GetBundleId();
LoggerUtils.Debug("[FileParse] get bundleId: " + bundleId); LoggerUtils.Debug("[FileParse] get bundleId: " + bundleId);
ParseConfig(bundleId); ParseConfig(bundleId);
ParseSdkConfig(bundleId); // ParseSdkConfig(bundleId);
} }
// 获取key-value配置信息 // 获取key-value配置信息

View File

@ -414,12 +414,12 @@ namespace WZ
#endregion #endregion
#region #region
public void TrackAdImpression(AdapterResponseInfo loadedAdapterResponseInfo, AdValue adValue, AdsType type, string placement) public void TrackAdImpression(string adsourceName,string adSourceInstanceName, AdValue adValue, AdsType type, string placement)
{ {
AdjustTrackEvent.Instance.TrackAdEvent(adValue.Value / 1000000f, AdjustTrackEvent.Instance.TrackAdEvent(adValue.Value / 1000000f,
loadedAdapterResponseInfo.AdSourceName, adsourceName,
placement, placement,
loadedAdapterResponseInfo.AdSourceInstanceName); adSourceInstanceName);
var position = type switch var position = type switch
{ {
@ -430,7 +430,7 @@ namespace WZ
}; };
FireBaseAnalyticsManager.Instance.OnAdRevenueEvent(PlatformType.Admob.ToString(), FireBaseAnalyticsManager.Instance.OnAdRevenueEvent(PlatformType.Admob.ToString(),
loadedAdapterResponseInfo.AdSourceName, adsourceName,
placement, placement,
type, type,
adValue.Value / 1000000f, adValue.Value / 1000000f,
@ -438,7 +438,7 @@ namespace WZ
AdPlayCountManager.GetAdsActionCount(type, AdPlayCountManager.PLAY_COUNT_SUFFIX)); AdPlayCountManager.GetAdsActionCount(type, AdPlayCountManager.PLAY_COUNT_SUFFIX));
ShuShuEvent.Instance.OnAdRevenueEvent(PlatformType.Admob.ToString(), ShuShuEvent.Instance.OnAdRevenueEvent(PlatformType.Admob.ToString(),
loadedAdapterResponseInfo.AdSourceName, adsourceName,
placement, placement,
type.ToString(), type.ToString(),
adValue.Value / 1000000f, adValue.Value / 1000000f,

View File

@ -59,12 +59,13 @@ namespace WZ
_interstitialAds[adUnitId] = ad; _interstitialAds[adUnitId] = ad;
_adRevenueCache[adUnitId] = AdmobUtils.GetInterstitialAdEcpm(ad); _adRevenueCache[adUnitId] = AdmobUtils.GetInterstitialAdEcpm(ad);
AdsKeyEvents.Instance.LogAdFPUEvents(AdsType.Interstitial); AdsKeyEvents.Instance.LogAdFPUEvents(AdsType.Interstitial);
onAdLoaded?.Invoke(ad.GetResponseInfo().GetLoadedAdapterResponseInfo().AdSourceName, onAdLoaded?.Invoke(ad?.GetResponseInfo()?.GetLoadedAdapterResponseInfo()?.AdSourceName ?? "",
adUnitId); adUnitId);
ad.OnAdPaid += (AdValue adValue) => ad.OnAdPaid += (AdValue adValue) =>
{ {
LoggerUtils.Debug(String.Format("[Admob] Interstitial ad paid {0} {1}.", adValue.Value, adValue.CurrencyCode)); LoggerUtils.Debug(String.Format("[Admob] Interstitial ad paid {0} {1}.", adValue.Value, adValue.CurrencyCode));
AdmobAdsManager.Instance.TrackAdImpression(ad.GetResponseInfo().GetLoadedAdapterResponseInfo(), AdmobAdsManager.Instance.TrackAdImpression(ad?.GetResponseInfo()?.GetLoadedAdapterResponseInfo().AdSourceName ??"",
ad?.GetResponseInfo()?.GetLoadedAdapterResponseInfo().AdSourceInstanceId ??"",
adValue, adValue,
AdsType.Interstitial, AdsType.Interstitial,
adUnitId); adUnitId);
@ -80,7 +81,7 @@ namespace WZ
ad.OnAdClicked += () => ad.OnAdClicked += () =>
{ {
LoggerUtils.Debug("[Admob] Interstitial ad was clicked."); LoggerUtils.Debug("[Admob] Interstitial ad was clicked.");
onAdClicked?.Invoke(ad.GetResponseInfo().GetLoadedAdapterResponseInfo().AdSourceName, onAdClicked?.Invoke(ad?.GetResponseInfo()?.GetLoadedAdapterResponseInfo()?.AdSourceName ?? "",
adUnitId, adUnitId,
AdmobUtils.GetInterstitialAdEcpm(ad)); AdmobUtils.GetInterstitialAdEcpm(ad));
}; };
@ -94,7 +95,9 @@ namespace WZ
ad.OnAdFullScreenContentClosed += () => ad.OnAdFullScreenContentClosed += () =>
{ {
LoggerUtils.Debug("[Admob] Interstitial ad full screen content closed."); LoggerUtils.Debug("[Admob] Interstitial ad full screen content closed.");
onAdDismissed?.Invoke(ad.GetResponseInfo().GetLoadedAdapterResponseInfo().AdSourceName, adUnitId, AdmobUtils.GetInterstitialAdEcpm(ad)); onAdDismissed?.Invoke(ad?.GetResponseInfo()?.GetLoadedAdapterResponseInfo()?.AdSourceName ?? "",
adUnitId,
AdmobUtils.GetInterstitialAdEcpm(ad));
}; };
ad.OnAdFullScreenContentFailed += (AdError error) => ad.OnAdFullScreenContentFailed += (AdError error) =>

View File

@ -76,7 +76,7 @@ namespace WZ
var adSource = ""; var adSource = "";
if (ad != null) if (ad != null)
{ {
adSource = ad.GetResponseInfo().GetLoadedAdapterResponseInfo().AdSourceName; adSource = ad.GetResponseInfo()?.GetLoadedAdapterResponseInfo()?.AdSourceName ?? "";
} }
var reason = ""; var reason = "";
@ -118,7 +118,7 @@ namespace WZ
} }
AdsActionEvents.TrackAdLoaded(PlatformType.Admob, AdsActionEvents.TrackAdLoaded(PlatformType.Admob,
ad.GetResponseInfo().GetLoadedAdapterResponseInfo().AdSourceName, ad?.GetResponseInfo()?.GetLoadedAdapterResponseInfo()?.AdSourceName ?? "",
adUnitId, adUnitId,
AdsType.Native, AdsType.Native,
Time.realtimeSinceStartup - _adStartLoadTimes[adUnitId]); Time.realtimeSinceStartup - _adStartLoadTimes[adUnitId]);
@ -136,7 +136,8 @@ namespace WZ
ad.OnAdPaid += (AdValue adValue) => ad.OnAdPaid += (AdValue adValue) =>
{ {
LoggerUtils.Debug($"[Admob] Native ad paid {adValue.Value} {adValue.CurrencyCode}."); LoggerUtils.Debug($"[Admob] Native ad paid {adValue.Value} {adValue.CurrencyCode}.");
AdmobAdsManager.Instance.TrackAdImpression(ad.GetResponseInfo().GetLoadedAdapterResponseInfo(), AdmobAdsManager.Instance.TrackAdImpression(ad?.GetResponseInfo()?.GetLoadedAdapterResponseInfo().AdSourceName??"",
ad?.GetResponseInfo()?.GetLoadedAdapterResponseInfo().AdSourceInstanceId??"",
adValue, adValue,
AdsType.Native, AdsType.Native,
adUnitId); adUnitId);
@ -147,7 +148,7 @@ namespace WZ
ad.OnAdClicked += () => ad.OnAdClicked += () =>
{ {
AdsActionEvents.TrackAdClicked(PlatformType.Admob, AdsActionEvents.TrackAdClicked(PlatformType.Admob,
ad.GetResponseInfo().GetLoadedAdapterResponseInfo().AdSourceName, ad?.GetResponseInfo()?.GetLoadedAdapterResponseInfo()?.AdSourceName ?? "",
adUnitId, adUnitId,
AdsType.Native, AdsType.Native,
"", "",
@ -160,7 +161,7 @@ namespace WZ
ad.OnAdFullScreenContentClosed += () => ad.OnAdFullScreenContentClosed += () =>
{ {
AdsActionEvents.TrackAdClicked(PlatformType.Admob, AdsActionEvents.TrackAdClicked(PlatformType.Admob,
ad.GetResponseInfo().GetLoadedAdapterResponseInfo().AdSourceName, ad?.GetResponseInfo()?.GetLoadedAdapterResponseInfo()?.AdSourceName ?? "",
adUnitId, adUnitId,
AdsType.Native, AdsType.Native,
"", "",

View File

@ -64,13 +64,14 @@ namespace WZ
AdsKeyEvents.Instance.LogAdFPUEvents(AdsType.Rewarded); AdsKeyEvents.Instance.LogAdFPUEvents(AdsType.Rewarded);
onAdLoaded?.Invoke(ad.GetResponseInfo().GetLoadedAdapterResponseInfo().AdSourceName, onAdLoaded?.Invoke(ad?.GetResponseInfo()?.GetLoadedAdapterResponseInfo()?.AdSourceName ?? "",
adUnitId); adUnitId);
ad.OnAdPaid += (AdValue adValue) => ad.OnAdPaid += (AdValue adValue) =>
{ {
LoggerUtils.Debug(String.Format("[Admob] rewarded ad paid {0} {1}.", adValue.Value, adValue.CurrencyCode)); LoggerUtils.Debug(String.Format("[Admob] rewarded ad paid {0} {1}.", adValue.Value, adValue.CurrencyCode));
AdmobAdsManager.Instance.TrackAdImpression(ad.GetResponseInfo().GetLoadedAdapterResponseInfo(), AdmobAdsManager.Instance.TrackAdImpression(ad?.GetResponseInfo()?.GetLoadedAdapterResponseInfo()?.AdSourceName ?? "",
ad?.GetResponseInfo()?.GetLoadedAdapterResponseInfo()?.AdSourceInstanceId ?? "",
adValue, adValue,
AdsType.Rewarded, AdsType.Rewarded,
adUnitId); adUnitId);
@ -85,7 +86,7 @@ namespace WZ
ad.OnAdClicked += () => ad.OnAdClicked += () =>
{ {
LoggerUtils.Debug("[Admob] rewarded ad was clicked."); LoggerUtils.Debug("[Admob] rewarded ad was clicked.");
onAdClicked?.Invoke(ad.GetResponseInfo().GetLoadedAdapterResponseInfo().AdSourceName, onAdClicked?.Invoke(ad?.GetResponseInfo()?.GetLoadedAdapterResponseInfo()?.AdSourceName ?? "",
adUnitId, adUnitId,
AdmobUtils.GetRewardedAdEcpm(ad)); AdmobUtils.GetRewardedAdEcpm(ad));
}; };
@ -99,7 +100,7 @@ namespace WZ
ad.OnAdFullScreenContentClosed += () => ad.OnAdFullScreenContentClosed += () =>
{ {
LoggerUtils.Debug("[Admob] rewarded ad full screen content closed."); LoggerUtils.Debug("[Admob] rewarded ad full screen content closed.");
onAdDismissed?.Invoke(ad.GetResponseInfo().GetLoadedAdapterResponseInfo().AdSourceName, adUnitId, AdmobUtils.GetRewardedAdEcpm(ad)); onAdDismissed?.Invoke(ad?.GetResponseInfo()?.GetLoadedAdapterResponseInfo()?.AdSourceName ?? "", adUnitId, AdmobUtils.GetRewardedAdEcpm(ad));
}; };
ad.OnAdFullScreenContentFailed += (AdError error) => ad.OnAdFullScreenContentFailed += (AdError error) =>

View File

@ -57,13 +57,14 @@ namespace WZ
_appOpenAds[adUnitId] = ad; _appOpenAds[adUnitId] = ad;
_adRevenueCache[adUnitId] = AdmobUtils.GetAppOpenAdEcpm(ad); _adRevenueCache[adUnitId] = AdmobUtils.GetAppOpenAdEcpm(ad);
AdsKeyEvents.Instance.LogAdFPUEvents(AdsType.Splash); AdsKeyEvents.Instance.LogAdFPUEvents(AdsType.Splash);
onAdLoaded?.Invoke(ad.GetResponseInfo().GetLoadedAdapterResponseInfo().AdSourceName, onAdLoaded?.Invoke(ad?.GetResponseInfo()?.GetLoadedAdapterResponseInfo()?.AdSourceName ?? "",
adUnitId); adUnitId);
ad.OnAdPaid += (AdValue adValue) => ad.OnAdPaid += (AdValue adValue) =>
{ {
LoggerUtils.Debug(String.Format("[Admob] appopen ad paid {0} {1}.", adValue.Value, adValue.CurrencyCode)); LoggerUtils.Debug(String.Format("[Admob] appopen ad paid {0} {1}.", adValue.Value, adValue.CurrencyCode));
AdmobAdsManager.Instance.TrackAdImpression(ad.GetResponseInfo().GetLoadedAdapterResponseInfo(), AdmobAdsManager.Instance.TrackAdImpression(ad?.GetResponseInfo()?.GetLoadedAdapterResponseInfo()?.AdSourceName ?? "",
ad?.GetResponseInfo()?.GetLoadedAdapterResponseInfo()?.AdSourceInstanceId ?? "",
adValue, adValue,
AdsType.Splash, AdsType.Splash,
adUnitId); adUnitId);
@ -78,7 +79,7 @@ namespace WZ
ad.OnAdClicked += () => ad.OnAdClicked += () =>
{ {
LoggerUtils.Debug("[Admob] appopen ad was clicked."); LoggerUtils.Debug("[Admob] appopen ad was clicked.");
onAdClicked?.Invoke(ad.GetResponseInfo().GetLoadedAdapterResponseInfo().AdSourceName, onAdClicked?.Invoke(ad?.GetResponseInfo()?.GetLoadedAdapterResponseInfo()?.AdSourceName ?? "",
adUnitId, adUnitId,
AdmobUtils.GetAppOpenAdEcpm(ad)); AdmobUtils.GetAppOpenAdEcpm(ad));
}; };
@ -92,7 +93,7 @@ namespace WZ
ad.OnAdFullScreenContentClosed += () => ad.OnAdFullScreenContentClosed += () =>
{ {
LoggerUtils.Debug("[Admob] appopen ad full screen content closed."); LoggerUtils.Debug("[Admob] appopen ad full screen content closed.");
onAdDismissed?.Invoke(ad.GetResponseInfo().GetLoadedAdapterResponseInfo().AdSourceName, onAdDismissed?.Invoke(ad?.GetResponseInfo()?.GetLoadedAdapterResponseInfo()?.AdSourceName ?? "",
adUnitId, adUnitId,
AdmobUtils.GetAppOpenAdEcpm(ad)); AdmobUtils.GetAppOpenAdEcpm(ad));
}; };

View File

@ -45,7 +45,7 @@ namespace WZ
_adRevenueCache[adUnitId] = AdmobUtils.GetBannerEcpm(bannerAds); _adRevenueCache[adUnitId] = AdmobUtils.GetBannerEcpm(bannerAds);
LoggerUtils.Debug($"[Admob] banner -[Load]: {adUnitId} successfully"); LoggerUtils.Debug($"[Admob] banner -[Load]: {adUnitId} successfully");
AdsActionEvents.TrackAdLoaded(AdmobAdsManager.Instance.Platfrom, AdsActionEvents.TrackAdLoaded(AdmobAdsManager.Instance.Platfrom,
bannerAds.GetResponseInfo().GetLoadedAdapterResponseInfo().AdSourceName, bannerAds?.GetResponseInfo()?.GetLoadedAdapterResponseInfo()?.AdSourceName ?? "",
adUnitId, adUnitId,
AdsType.Banner, AdsType.Banner,
Time.realtimeSinceStartup - (_adStartLoadTimes.TryGetValue(adUnitId, out var time)? time : 0)); Time.realtimeSinceStartup - (_adStartLoadTimes.TryGetValue(adUnitId, out var time)? time : 0));
@ -58,12 +58,16 @@ namespace WZ
{ {
_retryCounters[adUnitId]++; _retryCounters[adUnitId]++;
} }
double retryDelay = Math.Pow(2, Math.Min(6, _retryCounters[adUnitId])); double retryDelay = Math.Pow(2, Math.Min(6, _retryCounters.TryGetValue(adUnitId,out var times)? times : 0));
LoggerUtils.Debug($"[Admob] banner -[Load]: {adUnitId} failed, error message = {msg}"); LoggerUtils.Debug($"[Admob] banner -[Load]: {adUnitId} failed, error message = {msg}");
// 延迟重试加载 // 延迟重试加载
_loadCallbacks[adUnitId] = () => LoadAd(adUnitId); _loadCallbacks[adUnitId] = () => LoadAd(adUnitId);
TimerUtils.Instance.DelayExecute((float)retryDelay, () => _loadCallbacks[adUnitId]?.Invoke()); _loadCallbacks.TryGetValue(adUnitId, out Action _loadCallback);
if (_loadCallback != null)
{
TimerUtils.Instance.DelayExecute((float)retryDelay, () => _loadCallback?.Invoke());
}
AdsActionEvents.TrackAdFailToLoad(AdmobAdsManager.Instance.Platfrom, AdsActionEvents.TrackAdFailToLoad(AdmobAdsManager.Instance.Platfrom,
"", "",
"", "",
@ -74,7 +78,8 @@ namespace WZ
bannerAds.OnAdPaid += ((adValue) => bannerAds.OnAdPaid += ((adValue) =>
{ {
LoggerUtils.Debug($"[Admob] banner -[interaction]: {adUnitId} show"); LoggerUtils.Debug($"[Admob] banner -[interaction]: {adUnitId} show");
AdmobAdsManager.Instance.TrackAdImpression(bannerAds.GetResponseInfo().GetLoadedAdapterResponseInfo(), AdmobAdsManager.Instance.TrackAdImpression(bannerAds?.GetResponseInfo()?.GetLoadedAdapterResponseInfo().AdSourceName ?? "",
bannerAds?.GetResponseInfo()?.GetLoadedAdapterResponseInfo().AdSourceInstanceId ?? "",
adValue, adValue,
AdsType.Banner, AdsType.Banner,
adUnitId); adUnitId);
@ -83,7 +88,7 @@ namespace WZ
bannerAds.OnAdClicked += () => bannerAds.OnAdClicked += () =>
{ {
AdsActionEvents.TrackAdClicked(AdmobAdsManager.Instance.Platfrom, AdsActionEvents.TrackAdClicked(AdmobAdsManager.Instance.Platfrom,
bannerAds.GetResponseInfo().GetLoadedAdapterResponseInfo().AdSourceName, bannerAds?.GetResponseInfo()?.GetLoadedAdapterResponseInfo()?.AdSourceName ?? "",
adUnitId, adUnitId,
AdsType.Banner, AdsType.Banner,
"", "",

View File

@ -44,8 +44,9 @@ namespace WZ
_retryCounters[adUnitId] = 0; _retryCounters[adUnitId] = 0;
_adRevenueCache[adUnitId] = AdmobUtils.GetBannerEcpm(bannerAds); _adRevenueCache[adUnitId] = AdmobUtils.GetBannerEcpm(bannerAds);
LoggerUtils.Debug($"[Admob] banner collapsible -[Load]: {adUnitId} successfully iscollapsible: {bannerAds.IsCollapsible()}"); LoggerUtils.Debug($"[Admob] banner collapsible -[Load]: {adUnitId} successfully iscollapsible: {bannerAds.IsCollapsible()}");
AdsActionEvents.TrackAdLoaded(AdmobAdsManager.Instance.Platfrom, AdsActionEvents.TrackAdLoaded(AdmobAdsManager.Instance.Platfrom,
bannerAds.GetResponseInfo().GetLoadedAdapterResponseInfo().AdSourceName, bannerAds?.GetResponseInfo()?.GetLoadedAdapterResponseInfo()?.AdSourceName ?? "",
adUnitId, adUnitId,
AdsType.Banner, AdsType.Banner,
Time.realtimeSinceStartup - (_adStartLoadTimes.TryGetValue(adUnitId, out var time)? time : 0)); Time.realtimeSinceStartup - (_adStartLoadTimes.TryGetValue(adUnitId, out var time)? time : 0));
@ -58,12 +59,16 @@ namespace WZ
{ {
_retryCounters[adUnitId]++; _retryCounters[adUnitId]++;
} }
double retryDelay = Math.Pow(2, Math.Min(6, _retryCounters[adUnitId])); double retryDelay = Math.Pow(2, Math.Min(6, _retryCounters.TryGetValue(adUnitId,out var times)? times : 0));
LoggerUtils.Debug($"[Admob] banner collapsible -[Load]: {adUnitId} failed, error message = {msg}"); LoggerUtils.Debug($"[Admob] banner collapsible -[Load]: {adUnitId} failed, error message = {msg}");
// 延迟重试加载 // 延迟重试加载
_loadCallbacks[adUnitId] = () => LoadAd(adUnitId); _loadCallbacks[adUnitId] = () => LoadAd(adUnitId);
TimerUtils.Instance.DelayExecute((float)retryDelay, () => _loadCallbacks[adUnitId]?.Invoke()); _loadCallbacks.TryGetValue(adUnitId, out Action _loadCallback);
if (_loadCallback != null)
{
TimerUtils.Instance.DelayExecute((float)retryDelay, () => _loadCallback?.Invoke());
}
AdsActionEvents.TrackAdFailToLoad(AdmobAdsManager.Instance.Platfrom, AdsActionEvents.TrackAdFailToLoad(AdmobAdsManager.Instance.Platfrom,
"", "",
"", "",
@ -74,7 +79,8 @@ namespace WZ
bannerAds.OnAdPaid += ((adValue) => bannerAds.OnAdPaid += ((adValue) =>
{ {
LoggerUtils.Debug($"[Admob] banner collapsible -[interaction]: {adUnitId} show"); LoggerUtils.Debug($"[Admob] banner collapsible -[interaction]: {adUnitId} show");
AdmobAdsManager.Instance.TrackAdImpression(bannerAds.GetResponseInfo().GetLoadedAdapterResponseInfo(), AdmobAdsManager.Instance.TrackAdImpression(bannerAds?.GetResponseInfo()?.GetLoadedAdapterResponseInfo()?.AdSourceName ?? "",
bannerAds?.GetResponseInfo()?.GetLoadedAdapterResponseInfo()?.AdSourceInstanceId ?? "",
adValue, adValue,
AdsType.Banner, AdsType.Banner,
adUnitId); adUnitId);
@ -83,7 +89,7 @@ namespace WZ
bannerAds.OnAdClicked += () => bannerAds.OnAdClicked += () =>
{ {
AdsActionEvents.TrackAdClicked(AdmobAdsManager.Instance.Platfrom, AdsActionEvents.TrackAdClicked(AdmobAdsManager.Instance.Platfrom,
bannerAds.GetResponseInfo().GetLoadedAdapterResponseInfo().AdSourceName, bannerAds?.GetResponseInfo()?.GetLoadedAdapterResponseInfo()?.AdSourceName ?? "",
adUnitId, adUnitId,
AdsType.Banner, AdsType.Banner,
"", "",
@ -94,7 +100,7 @@ namespace WZ
public void LoadAd(string adUnitId) public void LoadAd(string adUnitId)
{ {
if (!AdmobAdsManager.Instance.FindAdsID(AdsType.Banner, adUnitId,BannerType.Collapsible)) if (!AdmobAdsManager.Instance.FindAdsID(AdsType.Banner, adUnitId, BannerType.Collapsible))
{ {
return; return;
} }

View File

@ -21,7 +21,7 @@ public class RushSDKManager : D_MonoSingleton<RushSDKManager>
public static string GetSDKVersion() public static string GetSDKVersion()
{ {
return "1.0.4.0"; return "1.0.4.1";
} }
protected override void Initialized() protected override void Initialized()
{ {