Files
BingoGrassland/Assets/BingoSun/Scripts/SDK/MaxADKit.cs
T
2026-06-05 15:02:47 +08:00

110 lines
3.6 KiB
C#

using System;
using UnityEngine;
using UnityEngine.Events;
using BingoBrain.Core;
using System.Collections.Generic;
using AppsFlyerSDK;
using MYp0ZVTT2QSDK;
using DG.Tweening;
namespace BingoBrain.Core
{
public class MaxADKit
{
public static void Init()
{
#if !UNITY_EDITOR
// 注册 ab事件,0或1,0为自然量版本,1为激励版本
MYp0ZVTT2QSDKHelper.Instance.RegistIosParam((i =>
{
BingoBea.Instance.attribution = i == 0 ? "organic" : "non_organic";
Debug.Log($"ios ab param : {i} attribution=== {BingoBea.Instance.attribution}");
NetworkDispatcher.Instance.Dispatch(NetworkMsg.Login);
}));
void GameConfig(bool result, string config)
{
Debug.Log($"************* game config result : {result}, config : {config}");
}
// SDK初始化方法
MYp0ZVTT2QSDKHelper.Instance.Init(null, null, GameConfig);
#endif
}
public static bool CheckInterstitialReady()
{
return MYp0ZVTT2QSDKHelper.Instance.IsInterReady();
}
public static void ShowInterstitial(string placement = "DefaultInterstitial", UnityAction<bool> onCompleted = null)
{
if (CheckInterstitialReady())
{
Debug.Log($"广告已经准备好,播放");
MYp0ZVTT2QSDKHelper.Instance.ShowInter(placement, () =>
{
DOVirtual.DelayedCall(0.1f, () =>
{
onCompleted?.Invoke(true);
});
});
}
else
{
Debug.Log($"广告未准备好,不播放");
onCompleted?.Invoke(false);
}
}
public static UnityAction<bool> onVideoAdCompleted = null;
private static string _placement = "";
private static Coroutine _waitForVideoAd = null;
public static bool CheckRewardedReady()
{
return MYp0ZVTT2QSDKHelper.Instance.IsVideoReady();
}
public static void ShowVideo(string placement = "DefaultVideo", UnityAction<bool> onCompleted = null)
{
onVideoAdCompleted = onCompleted;
_placement = placement;
#if UNITY_EDITOR
onVideoAdCompleted?.Invoke(true);
#else
// TrackKit.SendEvent(VideoBehaviorTrack.Event, VideoBehaviorTrack.Property.watch_ad_people);
// TrackKit.SendEvent(VideoBehaviorTrack.Event, VideoBehaviorTrack.Property.Rewarded_videos_trigger_number);
if (CheckRewardedReady())
{
MYp0ZVTT2QSDKHelper.Instance.ShowRewardVideo(_placement, b =>
{
DOVirtual.DelayedCall(0.1f, () =>
{
onVideoAdCompleted?.Invoke(b);
});
}, ()=>
{
DOVirtual.DelayedCall(0.2f, () =>
{
Debug.Log($"激励广告关闭");
if (GameHelper.IsGiftSwitch() && !SaveData.GetSaveobject().is_get_removead && (UnityEngine.Random.Range(0, 100) < GameHelper.GetCommonModel().rewardinsertion))
{
// TrackKit.SendEvent(ADEventTrack.Event, ADEventTrack.Property.afterRewardAdShow);
GameHelper.ShowInterstitial("AfterReward");
}
});
});
}
else
{
onVideoAdCompleted?.Invoke(false);
}
#endif
}
}
}