SDK_UnityMoney/Assets/Script/SDKManager/AdsSDKManager/Events/AdsEvents/AdsActionEvents.cs

199 lines
9.9 KiB
C#
Raw Normal View History

2025-09-04 09:19:05 +00:00
using System;
2025-08-31 08:26:53 +00:00
using System.Collections;
using System.Collections.Generic;
2025-09-02 09:14:49 +00:00
using AnyThinkAds.ThirdParty.LitJson;
2025-09-01 14:43:32 +00:00
using Firebase.Analytics;
2025-08-31 08:26:53 +00:00
using UnityEngine;
2025-09-01 10:32:50 +00:00
namespace WZ
2025-08-31 08:26:53 +00:00
{
public class AdsActionEvents
{
2025-09-25 07:37:55 +00:00
public static void TrackAdmobValue(PlatformType adPlatform, string adSource, string adUnitName, AdsType adFormat, double value)
{
var eventName = "admob_loaded_value";
var dic = new Dictionary<string, object> {
{ "ad_platform", adPlatform.ToString()},
{ "ad_source", adSource},
{ "ad_unit_name", adUnitName},
{ "ad_format", adFormat.ToString()},
{ "value", value}
};
FireBaseAnalyticsManager.Instance.LogEvent(eventName, dic);
ShuShuEvent.Instance.Track(eventName, dic);
LoggerUtils.Debug("[actionevent] TrackAdmobValue"+JsonMapper.ToJson(dic));
}
2025-09-15 07:42:07 +00:00
2025-09-25 07:37:55 +00:00
public static void TrackKwaiWaterfallRequest(AdsType adsType, string requestId, int waterfallRequestNumber, int parallelRequests)
{
2025-09-15 07:42:07 +00:00
var eventName = "kwai_waterfall_request";
var dic = new Dictionary<string, object> {
{ "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<string, object> {
{ "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,
2025-09-15 11:06:55 +00:00
float floorPrice, int waterfallRequestNumber, int unitRequestNumber, int floorNumber,double value)
2025-09-15 07:42:07 +00:00
{
var eventName = "kwai_waterfall_fill";
var dic = new Dictionary<string, object> {
{ "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);
2025-09-16 08:19:07 +00:00
LoggerUtils.Debug("[actionevent] TrackKwaiWaterfallFill" + JsonMapper.ToJson(dic));
2025-09-15 07:42:07 +00:00
}
2025-08-31 08:26:53 +00:00
public static void TrackAdClicked(PlatformType adPlatform, string adSource, string adUnitName, AdsType adFormat, string posotion, double value)
{
2025-09-04 09:19:05 +00:00
AdPlayCountManager.IncrementAdsActionCount(adFormat, AdPlayCountManager.CLICK_COUNT_SUFFIX);
2025-09-01 14:43:32 +00:00
var eventName = "ad_click";
var dic = new Dictionary<string, object> {
{ "ad_platform", adPlatform.ToString()},
{ "ad_source", adSource},
{ "ad_unit_name", adUnitName},
{ "ad_format", adFormat.ToString()},
{ "position", posotion},
{ "value", value},
{ "currency","USD"},
2025-09-04 09:19:05 +00:00
{ "number",AdPlayCountManager.GetAdsActionCount(adFormat,AdPlayCountManager.CLICK_COUNT_SUFFIX)}
2025-09-01 14:43:32 +00:00
};
FireBaseAnalyticsManager.Instance.LogEvent(eventName, dic);
ShuShuEvent.Instance.Track(eventName, dic);
2025-09-15 07:42:07 +00:00
LoggerUtils.Debug("[actionevent] TrackAdClicked" + JsonMapper.ToJson(dic));
2025-08-31 08:26:53 +00:00
}
public static void TrackAdClosed(PlatformType adPlatform, string adSource, string adUnitName, AdsType adFormat, string posotion, double value)
{
2025-09-01 10:32:50 +00:00
AdsSDKManager.Instance.otherAdsOnShow = false;
2025-09-04 09:19:05 +00:00
AdPlayCountManager.IncrementAdsActionCount(adFormat, AdPlayCountManager.CLOSE_COUNT_SUFFIX);
2025-09-01 14:43:32 +00:00
var eventName = "ad_close";
var dic = new Dictionary<string, object> {
{ "ad_platform", adPlatform.ToString()},
{ "ad_source", adSource},
{ "ad_unit_name", adUnitName},
{ "ad_format", adFormat.ToString()},
{ "position", posotion},
{ "value", value},
{ "currency","USD"},
2025-09-04 09:19:05 +00:00
{ "number",AdPlayCountManager.GetAdsActionCount(adFormat,AdPlayCountManager.CLOSE_COUNT_SUFFIX)}
2025-09-01 14:43:32 +00:00
};
FireBaseAnalyticsManager.Instance.LogEvent(eventName, dic);
ShuShuEvent.Instance.Track(eventName, dic);
2025-09-03 07:02:42 +00:00
LoggerUtils.Debug("[actionevent] TrackAdClosed"+JsonMapper.ToJson(dic));
2025-08-31 08:26:53 +00:00
}
2025-09-15 05:59:03 +00:00
public static void TrackAdStartLoad(PlatformType adPlatform, AdsType adFormat)
2025-08-31 08:26:53 +00:00
{
2025-09-04 09:19:05 +00:00
AdPlayCountManager.IncrementAdsActionCount(adFormat, AdPlayCountManager.STARTLOAD_COUNT_SUFFIX);
2025-09-01 14:43:32 +00:00
var eventName = "ad_start_load";
var dic = new Dictionary<string, object> {
{ "ad_platform", adPlatform.ToString()},
{ "ad_format", adFormat.ToString()},
2025-09-04 09:19:05 +00:00
{ "number",AdPlayCountManager.GetAdsActionCount(adFormat,AdPlayCountManager.STARTLOAD_COUNT_SUFFIX)}
2025-09-01 14:43:32 +00:00
};
FireBaseAnalyticsManager.Instance.LogEvent(eventName, dic);
ShuShuEvent.Instance.Track(eventName, dic);
2025-09-03 07:02:42 +00:00
LoggerUtils.Debug("[actionevent] TrackAdStartLoad"+JsonMapper.ToJson(dic));
2025-08-31 08:26:53 +00:00
}
public static void TrackAdLoaded(PlatformType adPlatform, string adSource, string adUnitName, AdsType adFormat, double loadTime)
{
2025-09-04 09:19:05 +00:00
AdPlayCountManager.IncrementAdsActionCount(adFormat, AdPlayCountManager.LOADED_COUNT_SUFFIX);
2025-09-01 14:43:32 +00:00
var eventName = "ad_loaded";
var dic = new Dictionary<string, object> {
{ "ad_platform", adPlatform.ToString()},
{ "ad_source", adSource},
{ "ad_unit_name", adUnitName},
{ "ad_format", adFormat.ToString()},
2025-09-04 09:19:05 +00:00
{ "pass_time", (int)Math.Ceiling(loadTime)},
{ "number",AdPlayCountManager.GetAdsActionCount(adFormat,AdPlayCountManager.LOADED_COUNT_SUFFIX)}
2025-09-01 14:43:32 +00:00
};
FireBaseAnalyticsManager.Instance.LogEvent(eventName, dic);
ShuShuEvent.Instance.Track(eventName, dic);
2025-09-03 07:02:42 +00:00
LoggerUtils.Debug("[actionevent] TrackAdLoaded"+JsonMapper.ToJson(dic));
2025-08-31 08:26:53 +00:00
}
public static void TrackAdFailToLoad(PlatformType adPlatform, string adSource, string adUnitName, AdsType adFormat, double loadTime, string reason)
{
2025-09-04 09:19:05 +00:00
AdPlayCountManager.IncrementAdsActionCount(adFormat, AdPlayCountManager.LOADFAIL_COUNT_SUFFIX);
2025-09-01 14:43:32 +00:00
var eventName = "ad_load_fail";
var dic = new Dictionary<string, object> {
{ "ad_platform", adPlatform.ToString()},
{ "ad_source", adSource},
{ "ad_unit_name", adUnitName},
{ "ad_format", adFormat.ToString()},
2025-09-04 09:19:05 +00:00
{ "pass_time", (int)Math.Ceiling(loadTime)},
2025-09-01 14:43:32 +00:00
{ "reason", reason},
2025-09-04 09:19:05 +00:00
{ "number",AdPlayCountManager.GetAdsActionCount(adFormat,AdPlayCountManager.LOADFAIL_COUNT_SUFFIX)}
2025-09-01 14:43:32 +00:00
};
FireBaseAnalyticsManager.Instance.LogEvent(eventName, dic);
ShuShuEvent.Instance.Track(eventName, dic);
2025-09-03 07:02:42 +00:00
LoggerUtils.Debug("[actionevent] TrackAdFailToLoad"+JsonMapper.ToJson(dic));
2025-08-31 08:26:53 +00:00
}
2025-09-05 02:15:32 +00:00
public static void TrackAdFailToShow(AdsType adFormat, string pos, AdsShowFailType adShowFailType)
2025-08-31 08:26:53 +00:00
{
2025-09-04 09:19:05 +00:00
AdPlayCountManager.IncrementAdsActionCount(adFormat, AdPlayCountManager.SHOWFAIL_COUNT_SUFFIX);
2025-09-01 10:32:50 +00:00
AdsSDKManager.Instance.otherAdsOnShow = false;
2025-09-01 14:43:32 +00:00
var eventName = "ad_show_fail";
var dic = new Dictionary<string, object> {
{ "ad_format", adFormat.ToString()},
2025-09-05 02:15:32 +00:00
{ "reason", adShowFailType.ToString()},
2025-09-01 14:43:32 +00:00
{ "position", pos},
2025-09-04 09:19:05 +00:00
{ "number",AdPlayCountManager.GetAdsActionCount(adFormat,AdPlayCountManager.SHOWFAIL_COUNT_SUFFIX)}
2025-09-01 14:43:32 +00:00
};
FireBaseAnalyticsManager.Instance.LogEvent(eventName, dic);
ShuShuEvent.Instance.Track(eventName, dic);
2025-09-03 07:02:42 +00:00
LoggerUtils.Debug("[actionevent] TrackAdFailToShow"+JsonMapper.ToJson(dic));
2025-08-31 08:26:53 +00:00
}
2025-09-01 07:14:26 +00:00
public static void TrackAdPosition(AdsType adFormat, string pos)
2025-08-31 08:26:53 +00:00
{
2025-09-04 09:19:05 +00:00
AdPlayCountManager.IncrementAdsActionCount(adFormat, AdPlayCountManager.ADPOSITION_COUNT_SUFFIX);
2025-09-01 14:43:32 +00:00
var eventName = "ad_position";
var dic = new Dictionary<string, object> {
{ "ad_format", adFormat.ToString()},
{ "position", pos},
2025-09-04 09:19:05 +00:00
{ "number",AdPlayCountManager.GetAdsActionCount(adFormat,AdPlayCountManager.ADPOSITION_COUNT_SUFFIX)}
2025-09-01 14:43:32 +00:00
};
FireBaseAnalyticsManager.Instance.LogEvent(eventName, dic);
ShuShuEvent.Instance.Track(eventName, dic);
2025-09-03 07:02:42 +00:00
LoggerUtils.Debug("[actionevent] TrackAdPosition"+JsonMapper.ToJson(dic));
2025-08-31 08:26:53 +00:00
}
}
2025-09-01 10:32:50 +00:00
}