98 lines
3.3 KiB
C#
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;
|
|
}
|
|
}
|
|
} |