修复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();
LoggerUtils.Debug("[FileParse] get bundleId: " + bundleId);
ParseConfig(bundleId);
ParseSdkConfig(bundleId);
// ParseSdkConfig(bundleId);
}
// 获取key-value配置信息

View File

@ -414,12 +414,12 @@ namespace WZ
#endregion
#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,
loadedAdapterResponseInfo.AdSourceName,
adsourceName,
placement,
loadedAdapterResponseInfo.AdSourceInstanceName);
adSourceInstanceName);
var position = type switch
{
@ -430,7 +430,7 @@ namespace WZ
};
FireBaseAnalyticsManager.Instance.OnAdRevenueEvent(PlatformType.Admob.ToString(),
loadedAdapterResponseInfo.AdSourceName,
adsourceName,
placement,
type,
adValue.Value / 1000000f,
@ -438,7 +438,7 @@ namespace WZ
AdPlayCountManager.GetAdsActionCount(type, AdPlayCountManager.PLAY_COUNT_SUFFIX));
ShuShuEvent.Instance.OnAdRevenueEvent(PlatformType.Admob.ToString(),
loadedAdapterResponseInfo.AdSourceName,
adsourceName,
placement,
type.ToString(),
adValue.Value / 1000000f,

View File

@ -59,12 +59,13 @@ namespace WZ
_interstitialAds[adUnitId] = ad;
_adRevenueCache[adUnitId] = AdmobUtils.GetInterstitialAdEcpm(ad);
AdsKeyEvents.Instance.LogAdFPUEvents(AdsType.Interstitial);
onAdLoaded?.Invoke(ad.GetResponseInfo().GetLoadedAdapterResponseInfo().AdSourceName,
onAdLoaded?.Invoke(ad?.GetResponseInfo()?.GetLoadedAdapterResponseInfo()?.AdSourceName ?? "",
adUnitId);
ad.OnAdPaid += (AdValue adValue) =>
{
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,
AdsType.Interstitial,
adUnitId);
@ -80,7 +81,7 @@ namespace WZ
ad.OnAdClicked += () =>
{
LoggerUtils.Debug("[Admob] Interstitial ad was clicked.");
onAdClicked?.Invoke(ad.GetResponseInfo().GetLoadedAdapterResponseInfo().AdSourceName,
onAdClicked?.Invoke(ad?.GetResponseInfo()?.GetLoadedAdapterResponseInfo()?.AdSourceName ?? "",
adUnitId,
AdmobUtils.GetInterstitialAdEcpm(ad));
};
@ -94,7 +95,9 @@ namespace WZ
ad.OnAdFullScreenContentClosed += () =>
{
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) =>

View File

@ -76,7 +76,7 @@ namespace WZ
var adSource = "";
if (ad != null)
{
adSource = ad.GetResponseInfo().GetLoadedAdapterResponseInfo().AdSourceName;
adSource = ad.GetResponseInfo()?.GetLoadedAdapterResponseInfo()?.AdSourceName ?? "";
}
var reason = "";
@ -118,7 +118,7 @@ namespace WZ
}
AdsActionEvents.TrackAdLoaded(PlatformType.Admob,
ad.GetResponseInfo().GetLoadedAdapterResponseInfo().AdSourceName,
ad?.GetResponseInfo()?.GetLoadedAdapterResponseInfo()?.AdSourceName ?? "",
adUnitId,
AdsType.Native,
Time.realtimeSinceStartup - _adStartLoadTimes[adUnitId]);
@ -136,7 +136,8 @@ namespace WZ
ad.OnAdPaid += (AdValue adValue) =>
{
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,
AdsType.Native,
adUnitId);
@ -147,7 +148,7 @@ namespace WZ
ad.OnAdClicked += () =>
{
AdsActionEvents.TrackAdClicked(PlatformType.Admob,
ad.GetResponseInfo().GetLoadedAdapterResponseInfo().AdSourceName,
ad?.GetResponseInfo()?.GetLoadedAdapterResponseInfo()?.AdSourceName ?? "",
adUnitId,
AdsType.Native,
"",
@ -160,7 +161,7 @@ namespace WZ
ad.OnAdFullScreenContentClosed += () =>
{
AdsActionEvents.TrackAdClicked(PlatformType.Admob,
ad.GetResponseInfo().GetLoadedAdapterResponseInfo().AdSourceName,
ad?.GetResponseInfo()?.GetLoadedAdapterResponseInfo()?.AdSourceName ?? "",
adUnitId,
AdsType.Native,
"",

View File

@ -64,13 +64,14 @@ namespace WZ
AdsKeyEvents.Instance.LogAdFPUEvents(AdsType.Rewarded);
onAdLoaded?.Invoke(ad.GetResponseInfo().GetLoadedAdapterResponseInfo().AdSourceName,
onAdLoaded?.Invoke(ad?.GetResponseInfo()?.GetLoadedAdapterResponseInfo()?.AdSourceName ?? "",
adUnitId);
ad.OnAdPaid += (AdValue adValue) =>
{
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,
AdsType.Rewarded,
adUnitId);
@ -85,7 +86,7 @@ namespace WZ
ad.OnAdClicked += () =>
{
LoggerUtils.Debug("[Admob] rewarded ad was clicked.");
onAdClicked?.Invoke(ad.GetResponseInfo().GetLoadedAdapterResponseInfo().AdSourceName,
onAdClicked?.Invoke(ad?.GetResponseInfo()?.GetLoadedAdapterResponseInfo()?.AdSourceName ?? "",
adUnitId,
AdmobUtils.GetRewardedAdEcpm(ad));
};
@ -99,7 +100,7 @@ namespace WZ
ad.OnAdFullScreenContentClosed += () =>
{
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) =>

View File

@ -57,13 +57,14 @@ namespace WZ
_appOpenAds[adUnitId] = ad;
_adRevenueCache[adUnitId] = AdmobUtils.GetAppOpenAdEcpm(ad);
AdsKeyEvents.Instance.LogAdFPUEvents(AdsType.Splash);
onAdLoaded?.Invoke(ad.GetResponseInfo().GetLoadedAdapterResponseInfo().AdSourceName,
onAdLoaded?.Invoke(ad?.GetResponseInfo()?.GetLoadedAdapterResponseInfo()?.AdSourceName ?? "",
adUnitId);
ad.OnAdPaid += (AdValue adValue) =>
{
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,
AdsType.Splash,
adUnitId);
@ -78,7 +79,7 @@ namespace WZ
ad.OnAdClicked += () =>
{
LoggerUtils.Debug("[Admob] appopen ad was clicked.");
onAdClicked?.Invoke(ad.GetResponseInfo().GetLoadedAdapterResponseInfo().AdSourceName,
onAdClicked?.Invoke(ad?.GetResponseInfo()?.GetLoadedAdapterResponseInfo()?.AdSourceName ?? "",
adUnitId,
AdmobUtils.GetAppOpenAdEcpm(ad));
};
@ -92,7 +93,7 @@ namespace WZ
ad.OnAdFullScreenContentClosed += () =>
{
LoggerUtils.Debug("[Admob] appopen ad full screen content closed.");
onAdDismissed?.Invoke(ad.GetResponseInfo().GetLoadedAdapterResponseInfo().AdSourceName,
onAdDismissed?.Invoke(ad?.GetResponseInfo()?.GetLoadedAdapterResponseInfo()?.AdSourceName ?? "",
adUnitId,
AdmobUtils.GetAppOpenAdEcpm(ad));
};

View File

@ -45,7 +45,7 @@ namespace WZ
_adRevenueCache[adUnitId] = AdmobUtils.GetBannerEcpm(bannerAds);
LoggerUtils.Debug($"[Admob] banner -[Load]: {adUnitId} successfully");
AdsActionEvents.TrackAdLoaded(AdmobAdsManager.Instance.Platfrom,
bannerAds.GetResponseInfo().GetLoadedAdapterResponseInfo().AdSourceName,
bannerAds?.GetResponseInfo()?.GetLoadedAdapterResponseInfo()?.AdSourceName ?? "",
adUnitId,
AdsType.Banner,
Time.realtimeSinceStartup - (_adStartLoadTimes.TryGetValue(adUnitId, out var time)? time : 0));
@ -58,12 +58,16 @@ namespace WZ
{
_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}");
// 延迟重试加载
_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,
"",
"",
@ -74,7 +78,8 @@ namespace WZ
bannerAds.OnAdPaid += ((adValue) =>
{
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,
AdsType.Banner,
adUnitId);
@ -83,7 +88,7 @@ namespace WZ
bannerAds.OnAdClicked += () =>
{
AdsActionEvents.TrackAdClicked(AdmobAdsManager.Instance.Platfrom,
bannerAds.GetResponseInfo().GetLoadedAdapterResponseInfo().AdSourceName,
bannerAds?.GetResponseInfo()?.GetLoadedAdapterResponseInfo()?.AdSourceName ?? "",
adUnitId,
AdsType.Banner,
"",

View File

@ -44,8 +44,9 @@ namespace WZ
_retryCounters[adUnitId] = 0;
_adRevenueCache[adUnitId] = AdmobUtils.GetBannerEcpm(bannerAds);
LoggerUtils.Debug($"[Admob] banner collapsible -[Load]: {adUnitId} successfully iscollapsible: {bannerAds.IsCollapsible()}");
AdsActionEvents.TrackAdLoaded(AdmobAdsManager.Instance.Platfrom,
bannerAds.GetResponseInfo().GetLoadedAdapterResponseInfo().AdSourceName,
bannerAds?.GetResponseInfo()?.GetLoadedAdapterResponseInfo()?.AdSourceName ?? "",
adUnitId,
AdsType.Banner,
Time.realtimeSinceStartup - (_adStartLoadTimes.TryGetValue(adUnitId, out var time)? time : 0));
@ -58,12 +59,16 @@ namespace WZ
{
_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}");
// 延迟重试加载
_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,
"",
"",
@ -74,7 +79,8 @@ namespace WZ
bannerAds.OnAdPaid += ((adValue) =>
{
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,
AdsType.Banner,
adUnitId);
@ -83,7 +89,7 @@ namespace WZ
bannerAds.OnAdClicked += () =>
{
AdsActionEvents.TrackAdClicked(AdmobAdsManager.Instance.Platfrom,
bannerAds.GetResponseInfo().GetLoadedAdapterResponseInfo().AdSourceName,
bannerAds?.GetResponseInfo()?.GetLoadedAdapterResponseInfo()?.AdSourceName ?? "",
adUnitId,
AdsType.Banner,
"",
@ -94,7 +100,7 @@ namespace WZ
public void LoadAd(string adUnitId)
{
if (!AdmobAdsManager.Instance.FindAdsID(AdsType.Banner, adUnitId,BannerType.Collapsible))
if (!AdmobAdsManager.Instance.FindAdsID(AdsType.Banner, adUnitId, BannerType.Collapsible))
{
return;
}

View File

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