using EFSDK; using Firebase.Analytics; using UnityEngine; namespace WZ { public class EFSdkManager : D_MonoSingleton { private const string KEY_OKSPIN_SHOW_COUNT = "OKSPIN_SHOW_COUNT"; //互动广告位 private string okspinShowPos = ""; public void Init() { EFSdk.get().Init((actionType, str) => { if (EFSdk.ActionType.COIN_CLICK == actionType) { //TOTO 游戏在此处理 点击金币弹广告的逻辑或其他 } if (EFSdk.ActionType.BALLOON_CLICK == actionType) { //TOTO 游戏在此处理 点击宝箱弹广告的逻辑或其他 } if (EFSdk.ActionType.COIN_SHOW == actionType) { } if (EFSdk.ActionType.BOX_SHOW == actionType) { } if (EFSdk.ActionType.GAM_LOAD_SUCC == actionType) { // 标签id,标识哪个WebView加载成功了 int id = int.Parse(str); } }); SetSDKEventCallback(); SetHdH5ImpressionCallback(); } private void SetSDKEventCallback() { EFSdk.get().SetSDKEventCallback((eventName, dict) => { FireBaseAnalyticsManager.Instance.LogEvent(eventName, dict); ShuShuEvent.Instance.Track(eventName, dict); }); } // /// 互动广告展示回调,此时可以计算上报互动广告展示次数和收益 /// /// string 是互动广告的url public void SetHdH5ImpressionCallback() { EFSdk.get().SetHdH5ImpressionCallback((url) => { //判断链接不为空 if (string.IsNullOrEmpty(url)) { return; } //判断链接是互动广告 if (!url.Contains("gamifyspace")) { return; } //展示次数 int count = PlayerPrefsUtils.GetPlayerPrefsInt(KEY_OKSPIN_SHOW_COUNT, 0); count++; PlayerPrefsUtils.SavePlayerPrefsInt(KEY_OKSPIN_SHOW_COUNT, count); //互动广告只有okSpin string h5ad_okspinrev = FireBaseRemoteConfigManager.Instance.GetRemoteConfigString("H5ad_okspinrev", "0"); double revenue = double.Parse(h5ad_okspinrev, System.Globalization.CultureInfo.InvariantCulture); //adjust AdjustTrackEvent.Instance.TrackAdEvent(revenue, "H5ad_game", url, url); //firebase FireBaseAnalyticsManager.Instance.OnAdRevenueEvent("H5ad_game", "H5ad_game", url, AdsType.Fix, revenue, okspinShowPos, count); //数数 ShuShuEvent.Instance.OnAdRevenueEvent("H5ad_game", "H5ad_game", url, AdsType.Fix.ToString(), revenue, okspinShowPos, count); }); } public void SetOkspinShowPos(string pos) { okspinShowPos = pos; } } }