添加topon banner

This commit is contained in:
juncong lee 2026-01-06 10:31:49 +08:00
parent a3516f4e44
commit 663a5747a4
2 changed files with 79 additions and 9 deletions

View File

@ -27,7 +27,7 @@ public class AdjustTrackEvent : D_MonoSingleton<AdjustTrackEvent>
public void UpdateEventToken() public void UpdateEventToken()
{ {
var remoteConfigString = FireBaseRemoteConfigManager.Instance.GetRemoteConfigString("event_adjust_set"); var remoteConfigString = FireBaseRemoteConfigManager.Instance.GetRemoteConfigString("ADJUST_EVENT_MAP");
if (string.IsNullOrEmpty(remoteConfigString)) return; if (string.IsNullOrEmpty(remoteConfigString)) return;
try try

View File

@ -17,6 +17,7 @@ namespace WZ
public string _topon_app_key; public string _topon_app_key;
public string _topon_interstitial_units; public string _topon_interstitial_units;
public string _topon_rewarded_units; public string _topon_rewarded_units;
public string _topon_banner_units;
private string _rvPos; private string _rvPos;
private string _ivPos; private string _ivPos;
private Action<bool, double> _rvCloseCallback = null; private Action<bool, double> _rvCloseCallback = null;
@ -24,6 +25,8 @@ namespace WZ
private Action _rvShowFailedCallback = null; private Action _rvShowFailedCallback = null;
public bool _initialized { get; private set; } = false; public bool _initialized { get; private set; } = false;
private bool _receivedReward = false; private bool _receivedReward = false;
private bool bannerReady = false;
private bool bannerHide = false;
public void ParseTpnConfig() public void ParseTpnConfig()
{ {
@ -32,6 +35,7 @@ namespace WZ
_topon_app_key = config.topon_app_key; _topon_app_key = config.topon_app_key;
_topon_interstitial_units = config.topon_interstitial_units.FirstOrDefault(); _topon_interstitial_units = config.topon_interstitial_units.FirstOrDefault();
_topon_rewarded_units = config.topon_rewarded_units.FirstOrDefault(); _topon_rewarded_units = config.topon_rewarded_units.FirstOrDefault();
_topon_banner_units = config.topon_banner_units.FirstOrDefault();
} }
public void Initialize() public void Initialize()
@ -45,6 +49,7 @@ namespace WZ
ATSDKAPI.setLogDebug(false); ATSDKAPI.setLogDebug(false);
InitRewarded(); InitRewarded();
InitInterstitial(); InitInterstitial();
SetBanner();
} }
} }
@ -116,6 +121,50 @@ namespace WZ
} }
#endregion #endregion
#region banner
private void SetBanner()
{
if (string.IsNullOrEmpty(_topon_banner_units)) return;
ATBannerAd.Instance.client.onAdLoadEvent += OnAdLoadedEvent;
ATBannerAd.Instance.client.onAdLoadFailureEvent += OnAdLoadedFailEvent;
ATBannerAd.Instance.client.onAdImpressEvent += OnAdVideoStartEvent;
ATBannerAd.Instance.client.onAdAutoRefreshEvent += OnAdVideoStartEvent;
LoadBannerAd();
}
public void LoadBannerAd()
{
Dictionary<string, object> jsonmap = new Dictionary<string,object>();
//配置Banner要展示的宽度高度是否使用pixel为单位只针对iOS有效Android 使用pixel为单位注意不同平台的横幅广告有一定限制例如配置的穿山甲横幅广告640*100为了能填充完屏幕宽计算高度H = (屏幕宽 *100)/640那么在load的extra的size为屏幕宽H
ATSize bannerSize = new ATSize(Screen.width - 100, 150, true);
jsonmap.Add(ATBannerAdLoadingExtra.kATBannerAdLoadingExtraBannerAdSizeStruct, bannerSize);
ATBannerAd.Instance.loadBannerAd(_topon_banner_units, jsonmap);
}
public bool IsBannerAvailable()
{
return string.IsNullOrEmpty(_topon_banner_units) ? false : bannerReady;
}
public void ShowBanner()
{
if (bannerHide)
{
ATBannerAd.Instance.showBannerAd(_topon_banner_units);
}
else
{
ATBannerAd.Instance.showBannerAd(_topon_banner_units, ATBannerAdLoadingExtra.kATBannerAdShowingPisitionBottom);
}
}
public void HideBanner()
{
bannerHide = true;
ATBannerAd.Instance.hideBannerAd(_topon_banner_units);
}
#endregion
#region #region
private void OnAdLoadedEvent(object sender, ATAdEventArgs erg) private void OnAdLoadedEvent(object sender, ATAdEventArgs erg)
{ {
@ -127,7 +176,7 @@ namespace WZ
AdsActionEvents.TrackAdLoaded(Platfrom, AdsActionEvents.TrackAdLoaded(Platfrom,
ClientName + "_" + info.adInfo.network_firm_id, ClientName + "_" + info.adInfo.network_firm_id,
info.adInfo.adunit_id, info.adInfo.adunit_id,
erg.placementId.Equals(_topon_rewarded_units) ? AdsType.Rewarded : AdsType.Interstitial, AdsType.Interstitial,
0); 0);
AdsKeyEvents.Instance.LogAdFPUEvents(AdsType.Interstitial); AdsKeyEvents.Instance.LogAdFPUEvents(AdsType.Interstitial);
} }
@ -138,19 +187,32 @@ namespace WZ
AdsActionEvents.TrackAdLoaded(Platfrom, AdsActionEvents.TrackAdLoaded(Platfrom,
ClientName + "_" + info.adInfo.network_firm_id, ClientName + "_" + info.adInfo.network_firm_id,
info.adInfo.adunit_id, info.adInfo.adunit_id,
erg.placementId.Equals(_topon_rewarded_units) ? AdsType.Rewarded : AdsType.Interstitial, AdsType.Rewarded,
0); 0);
AdsKeyEvents.Instance.LogAdFPUEvents(AdsType.Rewarded); AdsKeyEvents.Instance.LogAdFPUEvents(AdsType.Rewarded);
}else if(erg.placementId.Equals(_topon_banner_units))
{
LoggerUtils.Debug("[Tpn] ads tpn topon banner loaded");
var info = JsonUtility.FromJson<TopOnCallback>(ATRewardedAutoVideo.Instance.checkAutoAdStatus(erg.placementId));
AdsActionEvents.TrackAdLoaded(Platfrom,
ClientName + "_" + info.adInfo.network_firm_id,
info.adInfo.adunit_id,
AdsType.Banner,
0);
AdsKeyEvents.Instance.LogAdFPUEvents(AdsType.Banner);
} }
} }
private void OnAdLoadedFailEvent(object sender, ATAdErrorEventArgs erg) private void OnAdLoadedFailEvent(object sender, ATAdErrorEventArgs erg)
{ {
var adsType = AdsType.Rewarded;
if(erg.placementId.Equals(_topon_interstitial_units)) adsType = AdsType.Interstitial;
if(erg.placementId.Equals(_topon_banner_units)) adsType = AdsType.Banner;
LoggerUtils.Debug("[Tpn] 广告加载失败:" + JsonMapper.ToJson(erg.callbackInfo.toDictionary())); LoggerUtils.Debug("[Tpn] 广告加载失败:" + JsonMapper.ToJson(erg.callbackInfo.toDictionary()));
AdsActionEvents.TrackAdFailToLoad(Platfrom, AdsActionEvents.TrackAdFailToLoad(Platfrom,
ClientName + "_" + erg.callbackInfo.network_firm_id, ClientName + "_" + erg.callbackInfo.network_firm_id,
erg.callbackInfo.adunit_id, erg.callbackInfo.adunit_id,
erg.placementId.Equals(_topon_rewarded_units) ? AdsType.Rewarded : AdsType.Interstitial, adsType,
0, 0,
erg.errorMessage); erg.errorMessage);
} }
@ -298,6 +360,14 @@ namespace WZ
#region 广 #region 广
public void TrackAdImpression(ATAdEventArgs erg) public void TrackAdImpression(ATAdEventArgs erg)
{ {
var adsType = AdsType.Rewarded;
if(erg.placementId.Equals(_topon_interstitial_units)) adsType = AdsType.Interstitial;
if(erg.placementId.Equals(_topon_banner_units)) adsType = AdsType.Banner;
var _pos = "";
if(erg.placementId.Equals(_topon_interstitial_units)) _pos = _ivPos;
if(erg.placementId.Equals(_topon_banner_units)) _pos = _rvPos;
AdjustTrackEvent.Instance.TrackAdEvent(erg.callbackInfo.publisher_revenue, AdjustTrackEvent.Instance.TrackAdEvent(erg.callbackInfo.publisher_revenue,
ClientName + "_" + erg.callbackInfo.network_firm_id, ClientName + "_" + erg.callbackInfo.network_firm_id,
erg.callbackInfo.adunit_id, erg.callbackInfo.adunit_id,
@ -306,18 +376,18 @@ namespace WZ
FireBaseAnalyticsManager.Instance.OnAdRevenueEvent(ClientName, FireBaseAnalyticsManager.Instance.OnAdRevenueEvent(ClientName,
ClientName + "_" + erg.callbackInfo.network_firm_id, ClientName + "_" + erg.callbackInfo.network_firm_id,
erg.callbackInfo.adunit_id, erg.callbackInfo.adunit_id,
erg.placementId.Equals(_topon_rewarded_units) ? AdsType.Rewarded : AdsType.Interstitial, adsType,
erg.callbackInfo.publisher_revenue, erg.callbackInfo.publisher_revenue,
erg.placementId.Equals(_topon_rewarded_units) ? _rvPos : _ivPos, erg.placementId.Equals(_topon_rewarded_units) ? _rvPos : _ivPos,
AdPlayCountManager.GetAdsActionCount(erg.placementId.Equals(_topon_rewarded_units) ? AdsType.Rewarded : AdsType.Interstitial,AdPlayCountManager.PLAY_COUNT_SUFFIX)); AdPlayCountManager.GetAdsActionCount(adsType,AdPlayCountManager.PLAY_COUNT_SUFFIX));
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,
erg.placementId.Equals(_topon_rewarded_units) ? AdsType.Rewarded.ToString() : AdsType.Interstitial.ToString(), adsType.ToString(),
erg.callbackInfo.publisher_revenue, erg.callbackInfo.publisher_revenue,
erg.placementId.Equals(_topon_rewarded_units) ? _rvPos : _ivPos, _pos,
AdPlayCountManager.GetAdsActionCount(erg.placementId.Equals(_topon_rewarded_units) ? AdsType.Rewarded : AdsType.Interstitial,AdPlayCountManager.PLAY_COUNT_SUFFIX)); AdPlayCountManager.GetAdsActionCount(adsType,AdPlayCountManager.PLAY_COUNT_SUFFIX));
} }
#endregion #endregion