using System; using System.Collections; using System.Collections.Generic; using AnyThinkAds.ThirdParty.LitJson; using Firebase.Analytics; using UnityEngine; namespace WZ { public class AdsActionEvents { public static void TrackKwaiWaterfallRequest(AdsType adsType,string requestId,int waterfallRequestNumber,int parallelRequests) { var eventName = "kwai_waterfall_request"; var dic = new Dictionary { { "request_id", requestId}, { "waterfall_request_number", waterfallRequestNumber}, { "parallel_requests", parallelRequests}, { "ad_type", adsType.ToString()} }; FireBaseAnalyticsManager.Instance.LogEvent(eventName, dic); ShuShuEvent.Instance.Track(eventName, dic); LoggerUtils.Debug("[actionevent] TrackKwaiWaterfallRequest:" + JsonMapper.ToJson(dic)); } public static void TrackKwaiAdunitRequest(AdsType adsType, string requestId, string unitId, float floorPrice, int waterfallRequestNumber, int unitRequestNumber, int floorNumber) { var eventName = "kwai_adunit_request"; var dic = new Dictionary { { "request_id", requestId}, { "unit_id", unitId}, { "floor_price", floorPrice}, { "waterfall_request_number", waterfallRequestNumber}, { "unit_request_number", unitRequestNumber}, { "floor_number", floorNumber}, { "ad_type", adsType.ToString()} }; FireBaseAnalyticsManager.Instance.LogEvent(eventName, dic); ShuShuEvent.Instance.Track(eventName, dic); LoggerUtils.Debug("[actionevent] TrackKwaiAdunitRequest:" + JsonMapper.ToJson(dic)); } public static void TrackKwiWaterfallFill(AdsType adsType, string requestId, string unitId, float floorPrice, int waterfallRequestNumber, int unitRequestNumber, int floorNumber,double value) { var eventName = "kwai_waterfall_fill"; var dic = new Dictionary { { "request_id", requestId}, { "unit_id", unitId}, { "floor_price", floorPrice}, { "waterfall_request_number", waterfallRequestNumber}, { "unit_request_number", unitRequestNumber}, { "floor_number", floorNumber}, { "ad_type", adsType.ToString() }, { "value",value} }; FireBaseAnalyticsManager.Instance.LogEvent(eventName, dic); ShuShuEvent.Instance.Track(eventName, dic); LoggerUtils.Debug("[actionevent] TrackKwiWaterfallFill" + JsonMapper.ToJson(dic)); } public static void TrackAdClicked(PlatformType adPlatform, string adSource, string adUnitName, AdsType adFormat, string posotion, double value) { AdPlayCountManager.IncrementAdsActionCount(adFormat, AdPlayCountManager.CLICK_COUNT_SUFFIX); var eventName = "ad_click"; var dic = new Dictionary { { "ad_platform", adPlatform.ToString()}, { "ad_source", adSource}, { "ad_unit_name", adUnitName}, { "ad_format", adFormat.ToString()}, { "position", posotion}, { "value", value}, { "currency","USD"}, { "number",AdPlayCountManager.GetAdsActionCount(adFormat,AdPlayCountManager.CLICK_COUNT_SUFFIX)} }; FireBaseAnalyticsManager.Instance.LogEvent(eventName, dic); ShuShuEvent.Instance.Track(eventName, dic); LoggerUtils.Debug("[actionevent] TrackAdClicked:" + JsonMapper.ToJson(dic)); } public static void TrackAdClosed(PlatformType adPlatform, string adSource, string adUnitName, AdsType adFormat, string posotion, double value) { AdsSDKManager.Instance.otherAdsOnShow = false; AdPlayCountManager.IncrementAdsActionCount(adFormat, AdPlayCountManager.CLOSE_COUNT_SUFFIX); var eventName = "ad_close"; var dic = new Dictionary { { "ad_platform", adPlatform.ToString()}, { "ad_source", adSource}, { "ad_unit_name", adUnitName}, { "ad_format", adFormat.ToString()}, { "position", posotion}, { "value", value}, { "currency","USD"}, { "number",AdPlayCountManager.GetAdsActionCount(adFormat,AdPlayCountManager.CLOSE_COUNT_SUFFIX)} }; FireBaseAnalyticsManager.Instance.LogEvent(eventName, dic); ShuShuEvent.Instance.Track(eventName, dic); LoggerUtils.Debug("[actionevent] TrackAdClosed:"+JsonMapper.ToJson(dic)); } public static void TrackAdStartLoad(PlatformType adPlatform, AdsType adFormat) { AdPlayCountManager.IncrementAdsActionCount(adFormat, AdPlayCountManager.STARTLOAD_COUNT_SUFFIX); var eventName = "ad_start_load"; var dic = new Dictionary { { "ad_platform", adPlatform.ToString()}, { "ad_format", adFormat.ToString()}, { "number",AdPlayCountManager.GetAdsActionCount(adFormat,AdPlayCountManager.STARTLOAD_COUNT_SUFFIX)} }; FireBaseAnalyticsManager.Instance.LogEvent(eventName, dic); ShuShuEvent.Instance.Track(eventName, dic); LoggerUtils.Debug("[actionevent] TrackAdStartLoad:"+JsonMapper.ToJson(dic)); } public static void TrackAdLoaded(PlatformType adPlatform, string adSource, string adUnitName, AdsType adFormat, double loadTime) { AdPlayCountManager.IncrementAdsActionCount(adFormat, AdPlayCountManager.LOADED_COUNT_SUFFIX); var eventName = "ad_loaded"; var dic = new Dictionary { { "ad_platform", adPlatform.ToString()}, { "ad_source", adSource}, { "ad_unit_name", adUnitName}, { "ad_format", adFormat.ToString()}, { "pass_time", (int)Math.Ceiling(loadTime)}, { "number",AdPlayCountManager.GetAdsActionCount(adFormat,AdPlayCountManager.LOADED_COUNT_SUFFIX)} }; FireBaseAnalyticsManager.Instance.LogEvent(eventName, dic); ShuShuEvent.Instance.Track(eventName, dic); LoggerUtils.Debug("[actionevent] TrackAdLoaded:"+JsonMapper.ToJson(dic)); } public static void TrackAdFailToLoad(PlatformType adPlatform, string adSource, string adUnitName, AdsType adFormat, double loadTime, string reason) { AdPlayCountManager.IncrementAdsActionCount(adFormat, AdPlayCountManager.LOADFAIL_COUNT_SUFFIX); var eventName = "ad_load_fail"; var dic = new Dictionary { { "ad_platform", adPlatform.ToString()}, { "ad_source", adSource}, { "ad_unit_name", adUnitName}, { "ad_format", adFormat.ToString()}, { "pass_time", (int)Math.Ceiling(loadTime)}, { "reason", reason}, { "number",AdPlayCountManager.GetAdsActionCount(adFormat,AdPlayCountManager.LOADFAIL_COUNT_SUFFIX)} }; FireBaseAnalyticsManager.Instance.LogEvent(eventName, dic); ShuShuEvent.Instance.Track(eventName, dic); LoggerUtils.Debug("[actionevent] TrackAdFailToLoad:"+JsonMapper.ToJson(dic)); } public static void TrackAdFailToShow(AdsType adFormat, string pos, AdsShowFailType adShowFailType) { AdPlayCountManager.IncrementAdsActionCount(adFormat, AdPlayCountManager.SHOWFAIL_COUNT_SUFFIX); AdsSDKManager.Instance.otherAdsOnShow = false; var eventName = "ad_show_fail"; var dic = new Dictionary { { "ad_format", adFormat.ToString()}, { "reason", adShowFailType.ToString()}, { "position", pos}, { "number",AdPlayCountManager.GetAdsActionCount(adFormat,AdPlayCountManager.SHOWFAIL_COUNT_SUFFIX)} }; FireBaseAnalyticsManager.Instance.LogEvent(eventName, dic); ShuShuEvent.Instance.Track(eventName, dic); LoggerUtils.Debug("[actionevent] TrackAdFailToShow:"+JsonMapper.ToJson(dic)); } public static void TrackAdPosition(AdsType adFormat, string pos) { AdPlayCountManager.IncrementAdsActionCount(adFormat, AdPlayCountManager.ADPOSITION_COUNT_SUFFIX); var eventName = "ad_position"; var dic = new Dictionary { { "ad_format", adFormat.ToString()}, { "position", pos}, { "number",AdPlayCountManager.GetAdsActionCount(adFormat,AdPlayCountManager.ADPOSITION_COUNT_SUFFIX)} }; FireBaseAnalyticsManager.Instance.LogEvent(eventName, dic); ShuShuEvent.Instance.Track(eventName, dic); LoggerUtils.Debug("[actionevent] TrackAdPosition:"+JsonMapper.ToJson(dic)); } } }