topon/max 广告行为事件打点
This commit is contained in:
parent
3e2a9d42f9
commit
94b900b706
|
@ -13,6 +13,8 @@ namespace Script.Common
|
|||
/// </summary>
|
||||
string ClientName { get; }
|
||||
|
||||
PlatformType Platfrom { get; }
|
||||
|
||||
/// <summary>
|
||||
/// 初始化广告SDK
|
||||
/// </summary>
|
||||
|
|
|
@ -14,6 +14,7 @@ namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager
|
|||
public class AdmobAdsManager : NormalSingleton<AdmobAdsManager>, IAdService
|
||||
{
|
||||
public string ClientName => "Admob";
|
||||
public PlatformType Platfrom => PlatformType.Admob;
|
||||
private AdmobBannerAdManager _admobBannerAdManager;
|
||||
private AdmobInterstitialAdManager _admobInterstitialAdManager;
|
||||
private AdmobRewardedAdManager _admobRewardedAdManager;
|
||||
|
|
|
@ -5,6 +5,7 @@ using Script.Common;
|
|||
using Script.SDKManager.AdsSDKManager.AdmobAdsManager;
|
||||
using Script.SDKManager.AdsSDKManager.BigoAdsManager;
|
||||
using Script.SDKManager.AdsSDKManager.Constant;
|
||||
using Script.SDKManager.AdsSDKManager.Events.AdsEvents;
|
||||
using Script.SDKManager.AdsSDKManager.MaxAdsManager;
|
||||
using Script.SDKManager.AdsSDKManager.TpnAdsManager;
|
||||
using Script.SDKManager.AdsSDKManager.Utils;
|
||||
|
@ -55,6 +56,7 @@ public class AdsSDKManager : NormalSingleton<AdsSDKManager>
|
|||
/// <param name="callback"></param>
|
||||
public void ShowRewardAd(string _adPos, Action<bool> _rewardCallback = null, Action _showFailedCallback = null)
|
||||
{
|
||||
AdsActionEvents.TrackAdPosition(AdsType.Rewarded, _adPos);
|
||||
if (!IsRewardAdReady())
|
||||
{
|
||||
_showFailedCallback?.Invoke();
|
||||
|
@ -102,6 +104,7 @@ public class AdsSDKManager : NormalSingleton<AdsSDKManager>
|
|||
/// <param name="callback"></param>
|
||||
public void ShowInterstitialAd(string _adPos, IvType _IvType = IvType.IV1, Action _closeCallback = null)
|
||||
{
|
||||
AdsActionEvents.TrackAdPosition(AdsType.Interstitial, _adPos);
|
||||
if (!IsRewardAdReady())
|
||||
{
|
||||
_closeCallback?.Invoke();
|
||||
|
|
|
@ -15,6 +15,7 @@ namespace Script.SDKManager.AdsSDKManager.BigoAdsManager
|
|||
public class BigoAdsManager : NormalSingleton<BigoAdsManager>, IAdService
|
||||
{
|
||||
public string ClientName => "Bigo";
|
||||
public PlatformType Platfrom => PlatformType.Bigo;
|
||||
private BigoRewardedAdManager _rewardedAdManager;
|
||||
private BigoInterstitialAdManager _interstitialAdManager;
|
||||
private List<string> _interstitialAdUnits = new List<string>();
|
||||
|
|
|
@ -6,11 +6,11 @@ namespace Script.SDKManager.AdsSDKManager.Constant
|
|||
{
|
||||
public enum AdsType
|
||||
{
|
||||
Interstitial,
|
||||
Splash,
|
||||
Interstitial = 1,
|
||||
Rewarded,
|
||||
Banner,
|
||||
Native
|
||||
Native,
|
||||
Splash,
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -20,7 +20,6 @@ namespace Script.SDKManager.AdsSDKManager.Events.AdsEvents
|
|||
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)
|
||||
|
@ -37,7 +36,7 @@ namespace Script.SDKManager.AdsSDKManager.Events.AdsEvents
|
|||
|
||||
}
|
||||
|
||||
public static void TrackAdPosition(PlatformType adPlatform, AdsType adFormat, string pos)
|
||||
public static void TrackAdPosition(AdsType adFormat, string pos)
|
||||
{
|
||||
|
||||
}
|
||||
|
|
|
@ -1,8 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: bba9020c00e7b494b80ed377282b6760
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -16,6 +16,7 @@ namespace Script.SDKManager.AdsSDKManager.MaxAdsManager
|
|||
public class MaxAdsManager : NormalSingleton<MaxAdsManager>, IAdService
|
||||
{
|
||||
public string ClientName => "AppLovin";
|
||||
public PlatformType Platfrom => PlatformType.AppLovin;
|
||||
private string max_app_key;
|
||||
private string max_interstitial_units;
|
||||
private string max_rewarded_units;
|
||||
|
@ -52,7 +53,8 @@ namespace Script.SDKManager.AdsSDKManager.MaxAdsManager
|
|||
MaxSdk.SetVerboseLogging(false);
|
||||
MaxSdk.SetSdkKey(max_app_key);
|
||||
MaxSdk.InitializeSdk();
|
||||
|
||||
LoadRewarded();
|
||||
LoadInterstitial();
|
||||
}
|
||||
|
||||
#region 激励广告功能
|
||||
|
@ -72,6 +74,8 @@ namespace Script.SDKManager.AdsSDKManager.MaxAdsManager
|
|||
{
|
||||
if (string.IsNullOrEmpty(max_rewarded_units)) return;
|
||||
MaxSdk.LoadRewardedAd(max_rewarded_units);
|
||||
AdsActionEvents.TrackAdStartLoad(Platfrom, "", "", AdsType.Rewarded);
|
||||
_rvStartLoadTime = Time.realtimeSinceStartup;
|
||||
}
|
||||
public void DisplayRewarded(string adPos, Action<bool> rewardCallback = null, Action showFailedCallback = null)
|
||||
{
|
||||
|
@ -110,6 +114,7 @@ namespace Script.SDKManager.AdsSDKManager.MaxAdsManager
|
|||
AdsKeyEvents.Instance.LogAdFPUEvents(AdsType.Rewarded);
|
||||
_rewardAdInfo = adInfo;
|
||||
_rewardRetryAttempt = 0;
|
||||
AdsActionEvents.TrackAdLoaded(Platfrom, adInfo.NetworkName, adInfo.AdUnitIdentifier, AdsType.Rewarded, Time.realtimeSinceStartup - _rvStartLoadTime);
|
||||
}
|
||||
|
||||
private void OnRewardedAdLoadFailedEvent(string adunit, MaxSdkBase.ErrorInfo errorInfo)
|
||||
|
@ -118,6 +123,8 @@ namespace Script.SDKManager.AdsSDKManager.MaxAdsManager
|
|||
_rewardRetryAttempt++;
|
||||
double retryDelay = Math.Pow(2, Math.Min(6, _rewardRetryAttempt));
|
||||
TimerUtils.DelayExecute((float)retryDelay, LoadRewarded);
|
||||
AdsActionEvents.TrackAdFailToLoad(Platfrom, "","",AdsType.Rewarded,Time.realtimeSinceStartup - _rvStartLoadTime,errorInfo.Message);
|
||||
|
||||
}
|
||||
|
||||
private void OnRewardedAdDisplayedEvent(string adUnitId, MaxSdkBase.AdInfo info)
|
||||
|
@ -128,6 +135,8 @@ namespace Script.SDKManager.AdsSDKManager.MaxAdsManager
|
|||
private void OnRewardedAdClickedEvent(string adUnitId, MaxSdkBase.AdInfo adInfo)
|
||||
{
|
||||
LoggerUtils.Debug("[Max] OnRewardedAdClickedEvent");
|
||||
AdsActionEvents.TrackAdClicked(Platfrom,adInfo.NetworkName,adInfo.AdUnitIdentifier,AdsType.Rewarded,_rvPos,adInfo.Revenue);
|
||||
|
||||
}
|
||||
|
||||
private void OnRewardedAdFailedToDisplayEvent(string adUnitId, MaxSdkBase.ErrorInfo errorInfo, MaxSdkBase.AdInfo adInfo)
|
||||
|
@ -136,6 +145,7 @@ namespace Script.SDKManager.AdsSDKManager.MaxAdsManager
|
|||
_rvShowFailedCallback?.Invoke();
|
||||
_rvShowFailedCallback = null;
|
||||
LoadRewarded();
|
||||
AdsActionEvents.TrackAdFailToShow(Platfrom,AdsType.Rewarded,errorInfo.Message,_rvPos);
|
||||
}
|
||||
|
||||
private void OnRewardedAdHiddenEvent(string adUnitId, MaxSdkBase.AdInfo adInfo)
|
||||
|
@ -144,6 +154,8 @@ namespace Script.SDKManager.AdsSDKManager.MaxAdsManager
|
|||
_rvCloseCallback = null;
|
||||
LoadRewarded();
|
||||
LoggerUtils.Debug("[Max] OnRewardedAdHiddenEvent");
|
||||
AdsActionEvents.TrackAdClosed(Platfrom,adInfo.NetworkName,adInfo.AdUnitIdentifier,AdsType.Rewarded,_rvPos,adInfo.Revenue);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
@ -158,12 +170,15 @@ namespace Script.SDKManager.AdsSDKManager.MaxAdsManager
|
|||
MaxSdkCallbacks.Interstitial.OnAdHiddenEvent += OnInterstitialHiddenEvent;
|
||||
MaxSdkCallbacks.Interstitial.OnAdDisplayedEvent += OnInterstitialDisplayedEvent;
|
||||
MaxSdkCallbacks.Interstitial.OnAdRevenuePaidEvent += OnInterstitialRevenue;
|
||||
MaxSdkCallbacks.Interstitial.OnAdClickedEvent += OnInterstitialClickedEvent;
|
||||
}
|
||||
|
||||
public void LoadInterstitial()
|
||||
{
|
||||
if (string.IsNullOrEmpty(max_rewarded_units)) return;
|
||||
MaxSdk.LoadInterstitial(max_interstitial_units);
|
||||
AdsActionEvents.TrackAdStartLoad(Platfrom, "", "", AdsType.Interstitial);
|
||||
_ivStartLoadTime = Time.realtimeSinceStartup;
|
||||
}
|
||||
public double GetInterstitialRevenue()
|
||||
{
|
||||
|
@ -195,6 +210,8 @@ namespace Script.SDKManager.AdsSDKManager.MaxAdsManager
|
|||
AdsKeyEvents.Instance.LogAdFPUEvents(AdsType.Interstitial);
|
||||
_interAdInfo = adInfo;
|
||||
_interRetryAttempt = 0;
|
||||
AdsActionEvents.TrackAdLoaded(Platfrom, adInfo.NetworkName, adInfo.AdUnitIdentifier, AdsType.Interstitial, Time.realtimeSinceStartup - _rvStartLoadTime);
|
||||
|
||||
}
|
||||
|
||||
private void OnInterstitialLoadFailedEvent(string adUnitId, MaxSdkBase.ErrorInfo errorInfo)
|
||||
|
@ -203,6 +220,7 @@ namespace Script.SDKManager.AdsSDKManager.MaxAdsManager
|
|||
_interRetryAttempt++;
|
||||
double retryDelay = Math.Pow(2, Math.Min(6, _interRetryAttempt));
|
||||
TimerUtils.DelayExecute((float)retryDelay, LoadInterstitial);
|
||||
AdsActionEvents.TrackAdFailToLoad(Platfrom, "","",AdsType.Interstitial,Time.realtimeSinceStartup - _rvStartLoadTime,errorInfo.Message);
|
||||
}
|
||||
|
||||
private void OnInterstitialAdFailedToDisplayEvent(string adUnitId, MaxSdkBase.ErrorInfo errorInfo, MaxSdkBase.AdInfo arg3)
|
||||
|
@ -211,6 +229,7 @@ namespace Script.SDKManager.AdsSDKManager.MaxAdsManager
|
|||
_ivCloseCallback?.Invoke();
|
||||
_ivCloseCallback = null;
|
||||
LoadInterstitial();
|
||||
AdsActionEvents.TrackAdFailToShow(Platfrom,AdsType.Interstitial,errorInfo.Message,"");
|
||||
}
|
||||
|
||||
private void OnInterstitialDisplayedEvent(string adUnitId, MaxSdkBase.AdInfo info)
|
||||
|
@ -219,9 +238,10 @@ namespace Script.SDKManager.AdsSDKManager.MaxAdsManager
|
|||
|
||||
}
|
||||
|
||||
private void OnInterstitialHiddenEvent(string adUnitId, MaxSdkBase.AdInfo info)
|
||||
private void OnInterstitialHiddenEvent(string adUnitId, MaxSdkBase.AdInfo adInfo)
|
||||
{
|
||||
LoggerUtils.Debug($"[Max] OnInterstitialHiddenEvent");
|
||||
AdsActionEvents.TrackAdClosed(Platfrom,adInfo.NetworkName,adInfo.AdUnitIdentifier,AdsType.Interstitial,"",adInfo.Revenue);
|
||||
_ivCloseCallback?.Invoke();
|
||||
_ivCloseCallback = null;
|
||||
LoadInterstitial();
|
||||
|
@ -233,6 +253,12 @@ namespace Script.SDKManager.AdsSDKManager.MaxAdsManager
|
|||
TrackAdImpression(adInfo, AdsType.Interstitial);
|
||||
}
|
||||
|
||||
private void OnInterstitialClickedEvent(string adUnitId, MaxSdkBase.AdInfo adInfo)
|
||||
{
|
||||
AdsActionEvents.TrackAdClicked(Platfrom,adInfo.NetworkName,adInfo.AdUnitIdentifier,AdsType.Interstitial,"",adInfo.Revenue);
|
||||
}
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
#region 开屏广告功能
|
||||
|
@ -283,6 +309,13 @@ namespace Script.SDKManager.AdsSDKManager.MaxAdsManager
|
|||
adInfo.Revenue,
|
||||
type == AdsType.Rewarded ? _rvPos : "",
|
||||
AdPlayCountManager.GetAdPlayCount(type));
|
||||
|
||||
AdsActionEvents.TrackAdImpression(Platfrom,
|
||||
adInfo.NetworkName,
|
||||
adInfo.AdUnitIdentifier,
|
||||
type,
|
||||
type == AdsType.Rewarded ? _rvPos : "",
|
||||
adInfo.Revenue);
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
|
|
|
@ -17,7 +17,8 @@ namespace Script.SDKManager.AdsSDKManager.TpnAdsManager
|
|||
{
|
||||
public class TpnAdsManager : NormalSingleton<TpnAdsManager>, IAdService
|
||||
{
|
||||
public string ClientName => "Tpn";
|
||||
public string ClientName => "Topon";
|
||||
public PlatformType Platfrom => PlatformType.Topon;
|
||||
public string topon_app_id;
|
||||
public string topon_app_key;
|
||||
public string topon_interstitial_units;
|
||||
|
@ -57,6 +58,8 @@ namespace Script.SDKManager.AdsSDKManager.TpnAdsManager
|
|||
ATRewardedAutoVideo.Instance.client.onAdClickEvent += OnAdVideoClickedEvent;
|
||||
ATRewardedAutoVideo.Instance.addAutoLoadAdPlacementID(new string[] { topon_rewarded_units });
|
||||
|
||||
AdsActionEvents.TrackAdStartLoad(Platfrom,"","",AdsType.Rewarded);
|
||||
|
||||
}
|
||||
public void LoadRewarded() { }
|
||||
public void DisplayRewarded(string adPos, Action<bool> rewardCallback = null, Action showFailedCallback = null)
|
||||
|
@ -87,6 +90,7 @@ namespace Script.SDKManager.AdsSDKManager.TpnAdsManager
|
|||
ATInterstitialAutoAd.Instance.client.onAdShowFailureEvent += OnAdVideoFailureEvent;
|
||||
ATInterstitialAutoAd.Instance.client.onAdClickEvent += OnAdVideoClickedEvent;
|
||||
ATInterstitialAutoAd.Instance.addAutoLoadAdPlacementID(new string[] { topon_interstitial_units });
|
||||
AdsActionEvents.TrackAdStartLoad(Platfrom,"","",AdsType.Interstitial);
|
||||
}
|
||||
|
||||
public void LoadInterstitial() { }
|
||||
|
@ -108,6 +112,12 @@ namespace Script.SDKManager.AdsSDKManager.TpnAdsManager
|
|||
#region 代理
|
||||
private void OnAdLoadedEvent(object sender, ATAdEventArgs erg)
|
||||
{
|
||||
AdsActionEvents.TrackAdLoaded(Platfrom,
|
||||
ClientName + "_" + erg.callbackInfo.network_firm_id,
|
||||
erg.callbackInfo.adunit_id,
|
||||
erg.placementId.Equals(topon_rewarded_units) ? AdsType.Rewarded : AdsType.Interstitial,
|
||||
0);
|
||||
|
||||
if (erg.placementId.Equals(topon_interstitial_units))
|
||||
{
|
||||
LoggerUtils.Debug("[Tpn] ads tpn topon interstitial loaded");
|
||||
|
@ -123,6 +133,12 @@ namespace Script.SDKManager.AdsSDKManager.TpnAdsManager
|
|||
private void OnAdLoadedFailEvent(object sender, ATAdErrorEventArgs erg)
|
||||
{
|
||||
LoggerUtils.Debug("[Tpn] 广告加载失败:" + JsonMapper.ToJson(erg.callbackInfo.toDictionary()));
|
||||
AdsActionEvents.TrackAdFailToLoad(Platfrom,
|
||||
ClientName + "_" + erg.callbackInfo.network_firm_id,
|
||||
erg.callbackInfo.adunit_id,
|
||||
erg.placementId.Equals(topon_rewarded_units) ? AdsType.Rewarded : AdsType.Interstitial,
|
||||
0,
|
||||
erg.errorMessage);
|
||||
}
|
||||
|
||||
private void OnAdVideoStartEvent(object sender, ATAdEventArgs erg)
|
||||
|
@ -147,9 +163,14 @@ namespace Script.SDKManager.AdsSDKManager.TpnAdsManager
|
|||
private void OnAdVideoFailureEvent(object sender, ATAdErrorEventArgs erg)
|
||||
{
|
||||
LoggerUtils.Debug("[Tpn] 广告播放失败" + JsonMapper.ToJson(erg.callbackInfo.toDictionary()));
|
||||
|
||||
AdsActionEvents.TrackAdFailToShow(Platfrom,
|
||||
erg.placementId.Equals(topon_rewarded_units) ? AdsType.Rewarded : AdsType.Interstitial,
|
||||
erg.errorMessage,
|
||||
erg.placementId.Equals(topon_rewarded_units) ? _rvPos : "");
|
||||
|
||||
ThreadUtils.QueueOnMainThread(pObj =>
|
||||
{
|
||||
|
||||
if (erg.placementId.Equals(topon_rewarded_units))
|
||||
{
|
||||
_rvShowFailedCallback?.Invoke();
|
||||
|
@ -167,6 +188,14 @@ namespace Script.SDKManager.AdsSDKManager.TpnAdsManager
|
|||
private void OnAdVideoClosedEvent(object sender, ATAdEventArgs erg)
|
||||
{
|
||||
LoggerUtils.Debug("[Tpn] 广告关闭了:" + JsonMapper.ToJson(erg.callbackInfo.toDictionary()));
|
||||
|
||||
AdsActionEvents.TrackAdClosed(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);
|
||||
|
||||
ThreadUtils.QueueOnMainThread(pObj =>
|
||||
{
|
||||
if (erg.placementId.Equals(topon_rewarded_units))
|
||||
|
@ -185,6 +214,14 @@ namespace Script.SDKManager.AdsSDKManager.TpnAdsManager
|
|||
private void OnAdVideoClickedEvent(object sender, ATAdEventArgs erg)
|
||||
{
|
||||
LoggerUtils.Debug("[Tpn] 点击广告了:" + JsonMapper.ToJson(erg.callbackInfo.toDictionary()));
|
||||
|
||||
AdsActionEvents.TrackAdClicked(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);
|
||||
|
||||
ThreadUtils.QueueOnMainThread(pObj =>
|
||||
{
|
||||
if (erg.placementId.Equals(topon_rewarded_units))
|
||||
|
@ -248,6 +285,13 @@ namespace Script.SDKManager.AdsSDKManager.TpnAdsManager
|
|||
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
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue