c1_unity/Assets/Scripts/Common/SDK/BFThirdReportSDKManager.cs
2023-06-21 10:30:45 +08:00

149 lines
4.7 KiB
C#

using System.Collections.Generic;
using UnityEngine;
using BF.NativeCore.ThirdPlatform;
using Newtonsoft.Json;
using com.adjust.sdk;
namespace BF
{
public class BFThirdReportSDKManager : MonoBehaviour
{
private ThinkingAnalyticsSdk TASdk = new ThinkingAnalyticsSdk();
private AppsFlyerSdk AFSdk = new AppsFlyerSdk();
void Start()
{
Init();
}
public void Init()
{
BFLog.Log("TASdk.Init");
TASdk.Init();
AFSdk.Init();
}
// 设置账户id
public void SetThinkingAnalyticsAccountId(string id)
{
TASdk.SetAccountId(id);
AFSdk.SetTaAccountId(id);
}
// 清除账户id
public void ClearThinkingAnalyticsAccountId()
{
TASdk.ClearAccountId();
}
// 数数科技上报
// lua端使用
public void PostThinkingAnalyticsEvent(string eventName, string data = "")
{
if (string.IsNullOrEmpty(data))
{
TASdk.Track(eventName, null);
}
else
{
var properties = JsonConvert.DeserializeObject<Dictionary<string, object>>(data);
TASdk.Track(eventName, properties);
}
}
// 数数科技上报
// c#端使用,只上报事件名
public void PostThinkingAnalyticsEventName(string eventName)
{
TASdk.Track(eventName, null);
}
// 数数科技上报
// c#端使用,上报事件名和参数
public void PostThinkingAnalyticsEventProperties(string eventName, Dictionary<string, object> properties)
{
TASdk.Track(eventName, properties);
}
public void PostAppsflyerEvent(string eventName, string data = "")
{
if (string.IsNullOrEmpty(data))
{
AFSdk.SendEvent(eventName, null);
}
else
{
var properties = JsonConvert.DeserializeObject<Dictionary<string, string>>(data);
AFSdk.SendEvent(eventName, properties);
}
}
public void PostFireBaseEvent(string eventName, string data = "")
{
if (string.IsNullOrEmpty(data))
{
return;
}
else
{
BFMain.Instance.SDKMgr.BFNativeSDKMgr.LogEvent(eventName, data);
}
}
// 设置账户id
public void PostAdjustSimpleTrackEvent(string key)
{
AdjustEvent adjustEvent = new AdjustEvent(key);
// BFLog.Log("PostAdjustSimpleTrackEvent");
Adjust.trackEvent(adjustEvent);
}
public void PostAdjustRevenueTrackEvent(string key, double currency, string currencyCode)
{
AdjustEvent adjustEvent = new AdjustEvent(key);
adjustEvent.setRevenue(currency, currencyCode);
// BFLog.Log("PostAdjustRevenueTrackEvent");
Adjust.trackEvent(adjustEvent);
}
public void PostAdjustCallbackTrackEvent(string key, string data = "")
{
var properties = JsonConvert.DeserializeObject<Dictionary<string, string>>(data);
AdjustEvent adjustEvent = new AdjustEvent(key);
foreach (var item in properties)
{
adjustEvent.addCallbackParameter(item.Key, item.Value);
}
// BFLog.Log("PostAdjustCallbackTrackEvent");
Adjust.trackEvent(adjustEvent);
}
public void PostAdjustPartnerTrackEvent(string key, string data = "")
{
var properties = JsonConvert.DeserializeObject<Dictionary<string, string>>(data);
AdjustEvent adjustEvent = new AdjustEvent(key);
foreach (var item in properties)
{
adjustEvent.addPartnerParameter(item.Key, item.Value);
}
// BFLog.Log("PostAdjustPartnerTrackEvent");
Adjust.trackEvent(adjustEvent);
}
public void PostAdjustAdRevenueAppLovinMAX(double revenue, string networkName, string adUnitIdentifier, string placement)
{
var adRevenue = new AdjustAdRevenue(AdjustConfig.AdjustAdRevenueSourceAppLovinMAX);
adRevenue.setRevenue(revenue, "USD");
adRevenue.setAdRevenueNetwork(networkName);
adRevenue.setAdRevenueUnit(adUnitIdentifier);
adRevenue.setAdRevenuePlacement(placement);
Adjust.trackAdRevenue(adRevenue);
}
public void AdjustSetDeviceToken(string token)
{
Adjust.setDeviceToken(token);
}
}
}