using System; using System.Collections; using AnyThinkAds.Api; namespace AnyThinkAds.Api { public class ATAdEventArgs { public String placementId { get; } public ATCallbackInfo callbackInfo { get; } public bool isTimeout { get; } public bool isDeeplinkSucceed { get; } public ATAdEventArgs(string id, string callbackJson = "", bool timeout = false, bool isDeeplinkSucceess = false) { placementId = id; callbackInfo = new ATCallbackInfo(callbackJson); isTimeout = timeout; isDeeplinkSucceed = isDeeplinkSucceess; } // public ATAdEventArgs(String id, String callbackJson) // { // placementId = id; // callbackInfo = new ATCallbackInfo(callbackJson); // } } public class ATAdErrorEventArgs : ATAdEventArgs { public String errorMessage { get; } public String errorCode { get; } public ATAdErrorEventArgs(String placementId, String code, String message) : base(placementId) { errorMessage = message; errorCode = code; } public ATAdErrorEventArgs(String placementId, String callbackJson, String code, String message) : base(placementId, callbackJson) { errorMessage = message; errorCode = code; } } public class ATAdProgressEventArgs : ATAdEventArgs { public int adProgress { get; } public ATAdProgressEventArgs(String placementId, String callbackJson, int progress) : base(placementId, callbackJson) { adProgress = progress; } } public class ATAdRewardEventArgs : ATAdEventArgs { public bool isRewarded { get; } public ATAdRewardEventArgs(String placementId, String callbackJson, bool doReward) : base(placementId, callbackJson) { isRewarded = doReward; } } public interface IHCommonEvents { // triggers when the ad has been succesfully loaded event EventHandler onAdLoadEvent; // triggers when the ad has failed to load event EventHandler onAdLoadFailureEvent; // triggers when a the ad has started to load event EventHandler onAdSourceAttemptEvent; // triggers when a the ad has finished to load event EventHandler onAdSourceFilledEvent; // triggers when a the ad has started to load event EventHandler onAdSourceLoadFailureEvent; // triggers when a the ad has started to load event EventHandler onAdSourceBiddingAttemptEvent; // triggers when a the ad has started to load event EventHandler onAdSourceBiddingFilledEvent; // triggers when a the ad has started to load event EventHandler onAdSourceBiddingFailureEvent; } public interface IATBannerEvents: IHCommonEvents { // triggers when a banner ad generates an impression event EventHandler onAdImpressEvent; // triggers when the user clicks a banner ad event EventHandler onAdClickEvent; // triggers when the ad refreshes event EventHandler onAdAutoRefreshEvent; // triggers when the ad fails to auto refresh event EventHandler onAdAutoRefreshFailureEvent; // triggers when the banner ad is closed event EventHandler onAdCloseEvent; // triggers when the users closes the ad via the button event EventHandler onAdCloseButtonTappedEvent; } public interface IATInterstitialAdEvents : IHCommonEvents { // called when the ad is shown event EventHandler onAdShowEvent; // called if the ad has failed to be shown event EventHandler onAdShowFailureEvent; // called when the ad is closed event EventHandler onAdCloseEvent; // called when an user has clicked an ad event EventHandler onAdClickEvent; // called when a video ad has started playing event EventHandler onAdVideoStartEvent; // called if an ad video has failed to be displayed event EventHandler onAdVideoFailureEvent; // called when ad video has finished event EventHandler onAdVideoEndEvent; } public interface IATNativeAdEvents : IHCommonEvents { // triggers when the ad generates an impression event EventHandler onAdImpressEvent; // triggers when the user clicks the ad event EventHandler onAdClickEvent; // triggers when the ad video starts event EventHandler onAdVideoStartEvent; // triggers when the ad video ends event EventHandler onAdVideoEndEvent; // triggers if the ad progresses event EventHandler onAdVideoProgressEvent; // triggers when the ad is closed event EventHandler onAdCloseEvent; } public interface IATRewardedVideoEvents : IHCommonEvents { // triggers on video start event EventHandler onAdVideoStartEvent; // triggers on video end event EventHandler onAdVideoEndEvent; // triggers if the video fails to play event EventHandler onAdVideoFailureEvent; // triggers when the user has closed the ad event EventHandler onAdVideoCloseEvent; // triggers when the user has clicked the ad event EventHandler onAdClickEvent; // triggers when the user has finsihed watching the ad and should be rewarded event EventHandler onRewardEvent; event EventHandler onPlayAgainStart; event EventHandler onPlayAgainEnd; event EventHandler onPlayAgainFailure; event EventHandler onPlayAgainClick; event EventHandler onPlayAgainReward; } public interface IATSplashEvents : IHCommonEvents { // called when the ad is shown event EventHandler onAdShowEvent; // called if the ad has failed to be shown event EventHandler onAdShowFailureEvent; // called when the ad is closed event EventHandler onAdCloseEvent; // called when an user has clicked an ad event EventHandler onAdClickEvent; event EventHandler onAdLoadTimeoutEvent; event EventHandler onDeeplinkEvent; event EventHandler onDownloadConfirmEvent; } }