using System; using AnyThinkAds.Api; using Runtime.ADAggregator; public class ToponAdController : IAdController { private Action _maskAction; private Action _logEventAction; private ADConfig _adConfig; public void Init(ADConfig adConfig, object[] args) { _adConfig = adConfig; ATSDKAPI.setChannel(args[0].ToString()); ATSDKAPI.setLogDebug(args.Length > 1 && (bool)args[1]); ATSDKAPI.initSDK(adConfig.Id , adConfig.Key); } public void SetListener(Action adMaskAction ,Action logEventAction) { _maskAction = adMaskAction; _logEventAction = logEventAction; } public ADPlayer CreateAdPlayer(AD_Type type) { switch (type) { case AD_Type.AwardVideo: var awardVideoPlayer = new AwardVideoPlayer(); return awardVideoPlayer.Init(_adConfig.BaseAwardAdKeyValue.value); case AD_Type.Splash: break; case AD_Type.Interaction: var interactionPlayer = new InteractionPlayer(); return interactionPlayer.Init(_adConfig.BaseInteractionAdKeyValue.value); } return null; } public void EventLog(string eventTable, string eventValue, string eventMessage = null) { _logEventAction?.Invoke(eventTable , eventValue); } public void SetMask(bool isOpen) { _maskAction?.Invoke(isOpen); } }