using AdjustSdk; using Firebase.RemoteConfig; using Newtonsoft.Json; using Script.Common; using Script.Utils; public class AdjustTrackEvent : NormalSingleton { /// /// adjust事件上报 /// /// public void TrackEvent(string trackEvent) { AdjustEvent adjustEvent = new AdjustEvent(trackEvent); Adjust.TrackEvent(adjustEvent); } /// /// 广告收益上报 /// /// 单次展示收益 /// 广告平台名称 /// 广告位ID /// 广告源ID public void TrackAdEvent(double revenue, string adRevenueNetwork, string adRevenueUnit, string adRevenuePlacement) { string source = GetSource(); AdjustAdRevenue adjustAdRevenue = new AdjustAdRevenue(source); adjustAdRevenue.SetRevenue(revenue, "USD"); adjustAdRevenue.AdRevenueNetwork = adRevenueNetwork; adjustAdRevenue.AdRevenueUnit = adRevenueUnit; adjustAdRevenue.AdRevenuePlacement = adRevenuePlacement; Adjust.TrackAdRevenue(adjustAdRevenue); } /// /// 收益分离 /// /// private string GetSource() { string source = "applovin_max_sdk"; //获取在线参数 string json = FireBaseRemoteConfigManager.Instance.GetRemoteConfigString("revenue_adj"); if (string.IsNullOrEmpty(json)) { return source; } var revenueAdjs = JsonConvert.DeserializeObject(json); if (revenueAdjs == null && revenueAdjs.Length == 0) { return source; } int totalRate = 0; //获取全部概率 foreach (var item in revenueAdjs) { totalRate += item.rate; } //开始随机 int randomValue = UnityEngine.Random.Range(0, totalRate); int accumulatedRate = 0; //根据随机值定位 foreach (var item in revenueAdjs) { accumulatedRate += item.rate; if (randomValue < accumulatedRate) { return item.name; } } return source; } }