2025-09-03 08:12:41 +00:00
|
|
|
|
using System;
|
|
|
|
|
using EFSDK;
|
2025-09-01 08:27:45 +00:00
|
|
|
|
using Firebase.Analytics;
|
|
|
|
|
using UnityEngine;
|
|
|
|
|
|
2025-09-01 10:32:50 +00:00
|
|
|
|
namespace WZ
|
2025-09-01 08:27:45 +00:00
|
|
|
|
{
|
2025-09-02 09:14:49 +00:00
|
|
|
|
public class EFSdkManager : D_MonoSingleton<EFSdkManager>
|
2025-09-01 08:27:45 +00:00
|
|
|
|
{
|
2025-09-02 03:07:36 +00:00
|
|
|
|
private const string KEY_OKSPIN_SHOW_COUNT = "OKSPIN_SHOW_COUNT";
|
|
|
|
|
|
|
|
|
|
//互动广告位
|
|
|
|
|
private string okspinShowPos = "";
|
|
|
|
|
|
2025-09-03 08:12:41 +00:00
|
|
|
|
private Action<string> _webviewShowSuccessAction;
|
|
|
|
|
|
2025-09-01 10:32:50 +00:00
|
|
|
|
public void Init()
|
2025-09-01 08:27:45 +00:00
|
|
|
|
{
|
2025-09-02 08:13:06 +00:00
|
|
|
|
if (Application.isEditor)
|
2025-09-01 08:27:45 +00:00
|
|
|
|
{
|
2025-09-02 08:13:06 +00:00
|
|
|
|
return;
|
|
|
|
|
}
|
2025-09-03 08:12:41 +00:00
|
|
|
|
EFSdk.get().Init((actionType, str) =>
|
|
|
|
|
{
|
|
|
|
|
if (actionType == EFSdk.ActionType.H5_Load_Succ)
|
|
|
|
|
{
|
|
|
|
|
//webview展示成功
|
|
|
|
|
_webviewShowSuccessAction?.Invoke(str);
|
|
|
|
|
}
|
|
|
|
|
});
|
2025-09-01 10:32:50 +00:00
|
|
|
|
|
|
|
|
|
SetSDKEventCallback();
|
2025-09-01 15:21:18 +00:00
|
|
|
|
SetHdH5ImpressionCallback();
|
2025-09-01 10:32:50 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void SetSDKEventCallback()
|
2025-09-01 08:27:45 +00:00
|
|
|
|
{
|
2025-09-01 10:32:50 +00:00
|
|
|
|
EFSdk.get().SetSDKEventCallback((eventName, dict) =>
|
|
|
|
|
{
|
|
|
|
|
FireBaseAnalyticsManager.Instance.LogEvent(eventName, dict);
|
|
|
|
|
ShuShuEvent.Instance.Track(eventName, dict);
|
|
|
|
|
});
|
|
|
|
|
}
|
2025-09-01 15:21:18 +00:00
|
|
|
|
|
|
|
|
|
// <summary>
|
|
|
|
|
/// 互动广告展示回调,此时可以计算上报互动广告展示次数和收益
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="callback">string 是互动广告的url</param>
|
|
|
|
|
public void SetHdH5ImpressionCallback()
|
|
|
|
|
{
|
|
|
|
|
EFSdk.get().SetHdH5ImpressionCallback((url) =>
|
|
|
|
|
{
|
2025-09-02 03:07:36 +00:00
|
|
|
|
//判断链接不为空
|
|
|
|
|
if (string.IsNullOrEmpty(url))
|
|
|
|
|
{
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//展示次数
|
|
|
|
|
int count = PlayerPrefsUtils.GetPlayerPrefsInt(KEY_OKSPIN_SHOW_COUNT, 0);
|
|
|
|
|
count++;
|
|
|
|
|
PlayerPrefsUtils.SavePlayerPrefsInt(KEY_OKSPIN_SHOW_COUNT, count);
|
|
|
|
|
|
|
|
|
|
//互动广告只有okSpin
|
2025-09-02 06:20:54 +00:00
|
|
|
|
float revenue = FireBaseRemoteConfigManager.Instance.GetRemoteConfigFloat("rev_okspin", 0);
|
2025-09-02 03:07:36 +00:00
|
|
|
|
|
2025-09-01 15:21:18 +00:00
|
|
|
|
//adjust
|
2025-09-02 03:07:36 +00:00
|
|
|
|
AdjustTrackEvent.Instance.TrackAdEvent(revenue, "H5ad_game", url, url);
|
2025-09-01 15:21:18 +00:00
|
|
|
|
//firebase
|
2025-09-02 03:45:05 +00:00
|
|
|
|
FireBaseAnalyticsManager.Instance.OnAdRevenueEvent("H5ad_game", "H5ad_game", url, AdsType.Fix, revenue, okspinShowPos, count);
|
2025-09-01 15:21:18 +00:00
|
|
|
|
//数数
|
2025-09-02 03:45:05 +00:00
|
|
|
|
ShuShuEvent.Instance.OnAdRevenueEvent("H5ad_game", "H5ad_game", url, AdsType.Fix.ToString(), revenue, okspinShowPos, count);
|
2025-09-01 15:21:18 +00:00
|
|
|
|
});
|
|
|
|
|
}
|
2025-09-02 03:07:36 +00:00
|
|
|
|
|
|
|
|
|
public void SetOkspinShowPos(string pos)
|
|
|
|
|
{
|
|
|
|
|
okspinShowPos = pos;
|
|
|
|
|
}
|
2025-09-03 08:12:41 +00:00
|
|
|
|
|
|
|
|
|
public void SetWebviewShowSuccessAction(Action<string> action)
|
|
|
|
|
{
|
|
|
|
|
_webviewShowSuccessAction = action;
|
|
|
|
|
}
|
2025-09-01 08:27:45 +00:00
|
|
|
|
}
|
|
|
|
|
}
|