SDK_UnityMoney/Assets/Script/SDKManager/EFSdkManager/EFSdkManager.cs

98 lines
3.3 KiB
C#

using EFSDK;
using Firebase.Analytics;
using UnityEngine;
namespace WZ
{
public class EFSdkManager : NormalSingleton<EFSdkManager>
{
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);
});
}
// <summary>
/// 互动广告展示回调,此时可以计算上报互动广告展示次数和收益
/// </summary>
/// <param name="callback">string 是互动广告的url</param>
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;
}
}
}