广告行为事件上报

This commit is contained in:
juncong lee 2025-09-01 22:43:32 +08:00
parent f3df0ff6a6
commit 2a560acb56
1 changed files with 89 additions and 6 deletions

View File

@ -1,5 +1,6 @@
using System.Collections;
using System.Collections.Generic;
using Firebase.Analytics;
using UnityEngine;
@ -9,42 +10,124 @@ namespace WZ
{
public static void TrackAdClicked(PlatformType adPlatform, string adSource, string adUnitName, AdsType adFormat, string posotion, double value)
{
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"},
{ "number",AdPlayCountManager.GetAdPlayCount(adFormat)}
};
FireBaseAnalyticsManager.Instance.LogEvent(eventName, dic);
ShuShuEvent.Instance.Track(eventName, dic);
}
public static void TrackAdClosed(PlatformType adPlatform, string adSource, string adUnitName, AdsType adFormat, string posotion, double value)
{
AdsSDKManager.Instance.otherAdsOnShow = false;
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"},
{ "number",AdPlayCountManager.GetAdPlayCount(adFormat)}
};
FireBaseAnalyticsManager.Instance.LogEvent(eventName, dic);
ShuShuEvent.Instance.Track(eventName, dic);
}
public static void TrackAdStartLoad(PlatformType adPlatform, string adSource, string adUnitName, AdsType adFormat)
{
AdsSDKManager.Instance.otherAdsOnShow = true;
var eventName = "ad_start_load";
var dic = new Dictionary<string, object> {
{ "ad_platform", adPlatform.ToString()},
{ "ad_format", adFormat.ToString()},
{ "number",AdPlayCountManager.GetAdPlayCount(adFormat)}
};
FireBaseAnalyticsManager.Instance.LogEvent(eventName, dic);
ShuShuEvent.Instance.Track(eventName, dic);
}
public static void TrackAdLoaded(PlatformType adPlatform, string adSource, string adUnitName, AdsType adFormat, double loadTime)
{
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()},
{ "pass_time", loadTime},
{ "number",AdPlayCountManager.GetAdPlayCount(adFormat)}
};
FireBaseAnalyticsManager.Instance.LogEvent(eventName, dic);
ShuShuEvent.Instance.Track(eventName, dic);
}
public static void TrackAdFailToLoad(PlatformType adPlatform, string adSource, string adUnitName, AdsType adFormat, double loadTime, string reason)
{
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()},
{ "pass_time", loadTime},
{ "reason", reason},
{ "number",AdPlayCountManager.GetAdPlayCount(adFormat)}
};
FireBaseAnalyticsManager.Instance.LogEvent(eventName, dic);
ShuShuEvent.Instance.Track(eventName, dic);
}
public static void TrackAdFailToShow(PlatformType adPlatform, AdsType adFormat, string reason, string pos)
{
AdsSDKManager.Instance.otherAdsOnShow = false;
var eventName = "ad_show_fail";
var dic = new Dictionary<string, object> {
{ "ad_platform", adPlatform.ToString()},
{ "ad_format", adFormat.ToString()},
{ "reason", reason},
{ "position", pos},
{ "number",AdPlayCountManager.GetAdPlayCount(adFormat)}
};
FireBaseAnalyticsManager.Instance.LogEvent(eventName, dic);
ShuShuEvent.Instance.Track(eventName, dic);
}
public static void TrackAdPosition(AdsType adFormat, string pos)
{
var eventName = "ad_position";
var dic = new Dictionary<string, object> {
{ "ad_format", adFormat.ToString()},
{ "position", pos},
{ "number",AdPlayCountManager.GetAdPlayCount(adFormat)}
};
FireBaseAnalyticsManager.Instance.LogEvent(eventName, dic);
ShuShuEvent.Instance.Track(eventName, dic);
}
public static void TrackAdImpression(PlatformType adPlatform, string adSource, string adUnitName, AdsType adFormat, string posotion, double value)
{
}
var eventName = "ad_impression";
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"},
{ "number",AdPlayCountManager.GetAdPlayCount(adFormat)}
};
FireBaseAnalyticsManager.Instance.LogEvent(eventName, dic);
ShuShuEvent.Instance.Track(eventName, dic);
}
}
}