using System; using UnityEngine; using AnyThinkAds.Api; using AnyThinkAds.Common; using System.Collections; using System.Collections.Generic; #pragma warning disable 0067 namespace AnyThinkAds { public class ATAdsClientFactory { public static IATBannerAdClient BuildBannerAdClient() { #if UNITY_EDITOR // Testing UNITY_EDITOR first because the editor also responds to the currently // selected platform. #elif UNITY_ANDROID return new AnyThinkAds.Android.ATBannerAdClient(); #elif (UNITY_5 && UNITY_IOS) || UNITY_IPHONE return new AnyThinkAds.iOS.ATBannerAdClient(); #else #endif return new UnityBannerClient(); } public static IATInterstitialAdClient BuildInterstitialAdClient() { #if UNITY_EDITOR // Testing UNITY_EDITOR first because the editor also responds to the currently // selected platform. #elif UNITY_ANDROID return new AnyThinkAds.Android.ATInterstitialAdClient(); #elif (UNITY_5 && UNITY_IOS) || UNITY_IPHONE return new AnyThinkAds.iOS.ATInterstitialAdClient(); #else #endif return new UnityInterstitialClient(); } public static IATNativeAdClient BuildNativeAdClient() { #if UNITY_EDITOR // Testing UNITY_EDITOR first because the editor also responds to the currently // selected platform. #elif UNITY_ANDROID return new AnyThinkAds.Android.ATNativeAdClient(); #elif (UNITY_5 && UNITY_IOS) || UNITY_IPHONE return new AnyThinkAds.iOS.ATNativeAdClient(); #else #endif return new UnityNativeAdClient(); } public static IATNativeBannerAdClient BuildNativeBannerAdClient() { #if UNITY_EDITOR // Testing UNITY_EDITOR first because the editor also responds to the currently // selected platform. #elif UNITY_ANDROID return new AnyThinkAds.Android.ATNativeBannerAdClient(); #elif (UNITY_5 && UNITY_IOS) || UNITY_IPHONE return new AnyThinkAds.iOS.ATNativeBannerAdClient(); #else #endif return new UnityNativeBannerAdClient(); } public static IATRewardedVideoAdClient BuildRewardedVideoAdClient() { #if UNITY_EDITOR // Testing UNITY_EDITOR first because the editor also responds to the currently // selected platform. #elif UNITY_ANDROID return new AnyThinkAds.Android.ATRewardedVideoAdClient(); #elif (UNITY_5 && UNITY_IOS) || UNITY_IPHONE return new AnyThinkAds.iOS.ATRewardedVideoAdClient(); #else #endif return new UnityRewardedVideoAdClient(); } public static IATSDKAPIClient BuildSDKAPIClient() { Debug.Log("BuildSDKAPIClient"); #if UNITY_EDITOR Debug.Log("Unity Editor"); // Testing UNITY_EDITOR first because the editor also responds to the currently // selected platform. #elif UNITY_ANDROID return new AnyThinkAds.Android.ATSDKAPIClient(); #elif (UNITY_5 && UNITY_IOS) || UNITY_IPHONE Debug.Log("Unity:ATAdsClientFactory::Build iOS Client"); return new AnyThinkAds.iOS.ATSDKAPIClient(); #else #endif return new UnitySDKAPIClient(); } public static IATDownloadClient BuildDownloadClient() { Debug.Log("BuildDownloadClient"); #if UNITY_EDITOR Debug.Log("Unity Editor"); // Testing UNITY_EDITOR first because the editor also responds to the currently // selected platform. #elif UNITY_ANDROID return new AnyThinkAds.Android.ATDownloadClient(); #else #endif return new UnityDownloadClient(); } public static IATSplashAdClient BuildSplashAdClient() { #if UNITY_EDITOR // Testing UNITY_EDITOR first because the editor also responds to the currently // selected platform. #elif UNITY_ANDROID return new AnyThinkAds.Android.ATSplashAdClient(); #elif (UNITY_5 && UNITY_IOS) || UNITY_IPHONE //TODO iOS返回开屏client return new AnyThinkAds.iOS.ATSplashAdClient(); #else #endif return new UnitySplashClient(); } } class UnitySDKAPIClient:IATSDKAPIClient { public void initSDK(string appId, string appkey){} public void initSDK(string appId, string appkey, ATSDKInitListener listener){ } public void getUserLocation(ATGetUserLocationListener listener){ } public void setGDPRLevel(int level){ } public void showGDPRAuth(){ } public void showGDPRConsentDialog(ATConsentDismissListener listener){ } public void addNetworkGDPRInfo(int networkType, string mapJson){ } public void setChannel(string channel){ } public void setSubChannel(string subchannel){ } public void initCustomMap(string cutomMap){ } public void setCustomDataForPlacementID(string customData, string placementID){ } public void setLogDebug(bool isDebug){ } public int getGDPRLevel(){ return ATSDKAPI.PERSONALIZED; } public bool isEUTraffic() { return false; } public void deniedUploadDeviceInfo(string deniedInfo) { } public void setExcludeBundleIdArray(string bundleIds) { } public void setExcludeAdSourceIdArrayForPlacementID(string placementID, string adsourceIds) { } public void setSDKArea(int area) { } public void getArea(ATGetAreaListener listener) { } public void setWXStatus(bool install) { } public void setLocation(double longitude, double latitude) { } public void showDebuggerUI() {} public void showDebuggerUI(string debugKey) {} } class UnityBannerClient:IATBannerAdClient { public event EventHandler onAdLoadEvent; public event EventHandler onAdLoadFailureEvent; public event EventHandler onAdImpressEvent; public event EventHandler onAdClickEvent; public event EventHandler onAdAutoRefreshEvent; public event EventHandler onAdAutoRefreshFailureEvent; public event EventHandler onAdCloseEvent; public event EventHandler onAdCloseButtonTappedEvent; public event EventHandler onAdSourceAttemptEvent; public event EventHandler onAdSourceFilledEvent; public event EventHandler onAdSourceLoadFailureEvent; public event EventHandler onAdSourceBiddingAttemptEvent; public event EventHandler onAdSourceBiddingFilledEvent; public event EventHandler onAdSourceBiddingFailureEvent; ATBannerAdListener listener; public void loadBannerAd(string unitId, string mapJson){ if(listener != null) { listener.onAdLoadFail(unitId, "-1", "Must run on Android or IOS platform!"); } } public void setListener(ATBannerAdListener listener) { this.listener = listener; } public string checkAdStatus(string unitId) { return ""; } public void showBannerAd(string unitId, string position){ } public void showBannerAd(string unitId, string position, string mapJson){ } public void showBannerAd(string unitId, ATRect rect){ } public void showBannerAd(string unitId, ATRect rect, string mapJson){ } public void cleanBannerAd(string unitId){ } public void hideBannerAd(string unitId){ } public void showBannerAd(string unitId){ } public void cleanCache(string unitId){} public string getValidAdCaches(string unitId) { return ""; } } class UnityInterstitialClient : IATInterstitialAdClient { ATInterstitialAdListener listener; #pragma warning disable 220 public event EventHandler onAdLoadEvent; public event EventHandler onAdLoadFailureEvent; public event EventHandler onAdShowEvent; public event EventHandler onAdShowFailureEvent; public event EventHandler onAdCloseEvent; public event EventHandler onAdClickEvent; public event EventHandler onAdVideoStartEvent; public event EventHandler onAdVideoFailureEvent; public event EventHandler onAdVideoEndEvent; public event EventHandler onAdSourceAttemptEvent; public event EventHandler onAdSourceFilledEvent; public event EventHandler onAdSourceLoadFailureEvent; public event EventHandler onAdSourceBiddingAttemptEvent; public event EventHandler onAdSourceBiddingFilledEvent; public event EventHandler onAdSourceBiddingFailureEvent; public void loadInterstitialAd(string unitId, string mapJson){ if (listener != null) { listener.onInterstitialAdLoadFail(unitId, "-1", "Must run on Android or IOS platform!"); } } public void setListener(ATInterstitialAdListener listener){ this.listener = listener; } public bool hasInterstitialAdReady(string unitId) { return false; } public string checkAdStatus(string unitId) { return ""; } public void showInterstitialAd(string unitId, string mapJson){} public void cleanCache(string unitId){} public string getValidAdCaches(string unitId) { return ""; } public void entryScenarioWithPlacementID(string placementId, string scenarioID){} public void addAutoLoadAdPlacementID(string[] placementIDList) {} public void removeAutoLoadAdPlacementID(string placementId){} public bool autoLoadInterstitialAdReadyForPlacementID(string placementId){return false;} public string getAutoValidAdCaches(string placementId){return "";} public string checkAutoAdStatus(string unitId) { return ""; } public void setAutoLocalExtra(string placementId, string mapJson){} public void entryAutoAdScenarioWithPlacementID(string placementId, string scenarioID){} public void showAutoAd(string placementId, string mapJson){} } class UnityNativeAdClient : IATNativeAdClient { public event EventHandler onAdLoadEvent; public event EventHandler onAdLoadFailureEvent; public event EventHandler onAdImpressEvent; public event EventHandler onAdClickEvent; public event EventHandler onAdVideoStartEvent; public event EventHandler onAdVideoEndEvent; public event EventHandler onAdVideoProgressEvent; public event EventHandler onAdCloseEvent; public event EventHandler onAdSourceAttemptEvent; public event EventHandler onAdSourceFilledEvent; public event EventHandler onAdSourceLoadFailureEvent; public event EventHandler onAdSourceBiddingAttemptEvent; public event EventHandler onAdSourceBiddingFilledEvent; public event EventHandler onAdSourceBiddingFailureEvent; ATNativeAdListener listener; public void loadNativeAd(string unitId, string mapJson){ if(listener != null) { listener.onAdLoadFail(unitId, "-1", "Must run on Android or IOS platform!"); } } public bool hasAdReady(string unitId) { return false; } public string checkAdStatus(string unitId) { return ""; } public string getValidAdCaches(string unitId) { return ""; } public void entryScenarioWithPlacementID(string placementId, string scenarioID){} public void setListener(ATNativeAdListener listener){ this.listener = listener; } public void renderAdToScene(string unitId, ATNativeAdView anyThinkNativeAdView){} public void renderAdToScene(string unitId, ATNativeAdView anyThinkNativeAdView, string mapJson){} public void cleanAdView(string unitId, ATNativeAdView anyThinkNativeAdView){} public void onApplicationForces(string unitId, ATNativeAdView anyThinkNativeAdView){} public void onApplicationPasue(string unitId, ATNativeAdView anyThinkNativeAdView){} public void cleanCache(string unitId){} public void setLocalExtra(string unitid, string mapJson){} } class UnityNativeBannerAdClient : IATNativeBannerAdClient { public event EventHandler onAdLoadEvent; public event EventHandler onAdLoadFailureEvent; public event EventHandler onAdImpressEvent; public event EventHandler onAdClickEvent; public event EventHandler onAdVideoStartEvent; public event EventHandler onAdVideoEndEvent; public event EventHandler onAdVideoProgressEvent; public event EventHandler onAdCloseEvent; public event EventHandler onAdSourceAttemptEvent; public event EventHandler onAdSourceFilledEvent; public event EventHandler onAdSourceLoadFailureEvent; public event EventHandler onAdSourceBiddingAttemptEvent; public event EventHandler onAdSourceBiddingFilledEvent; public event EventHandler onAdSourceBiddingFailureEvent; ATNativeBannerAdListener listener; public void loadAd(string unitId, string mapJson){ if(listener != null) { listener.onAdLoadFail(unitId, "-1", "Must run on Android or IOS platform!"); } } public bool adReady(string unitId) { return false; } public void setListener(ATNativeBannerAdListener listener){ this.listener = listener; } public void showAd(string unitId, ATRect rect, Dictionary pairs){} public void removeAd(string unitId){} } class UnityRewardedVideoAdClient : IATRewardedVideoAdClient { public event EventHandler onAdLoadEvent; public event EventHandler onAdLoadFailureEvent; public event EventHandler onAdVideoStartEvent; public event EventHandler onAdVideoEndEvent; public event EventHandler onAdVideoFailureEvent; public event EventHandler onAdVideoCloseEvent; public event EventHandler onAdClickEvent; public event EventHandler onRewardEvent; public event EventHandler onAdSourceAttemptEvent; public event EventHandler onAdSourceFilledEvent; public event EventHandler onAdSourceLoadFailureEvent; public event EventHandler onAdSourceBiddingAttemptEvent; public event EventHandler onAdSourceBiddingFilledEvent; public event EventHandler onAdSourceBiddingFailureEvent; public event EventHandler onPlayAgainStart; public event EventHandler onPlayAgainEnd; public event EventHandler onPlayAgainFailure; public event EventHandler onPlayAgainClick; public event EventHandler onPlayAgainReward; ATRewardedVideoListener listener; public void loadVideoAd(string unitId, string mapJson){ if (listener != null) { listener.onRewardedVideoAdLoadFail(unitId, "-1", "Must run on Android or IOS platform!"); } } public void setListener(ATRewardedVideoListener listener){ this.listener = listener; } public bool hasAdReady(string unitId) { return false; } public string checkAdStatus(string unitId) { return ""; } public string getValidAdCaches(string unitId) { return ""; } public void entryScenarioWithPlacementID(string placementId, string scenarioID){} public void showAd(string unitId, string mapJson){} public void addAutoLoadAdPlacementID(string[] placementIDList) {} public void removeAutoLoadAdPlacementID(string placementId){} public bool autoLoadRewardedVideoReadyForPlacementID(string placementId){return false;} public string getAutoValidAdCaches(string placementId){return "";} public string checkAutoAdStatus(string unitId) { return ""; } public void setAutoLocalExtra(string placementId, string mapJson){} public void entryAutoAdScenarioWithPlacementID(string placementId, string scenarioID){} public void showAutoAd(string placementId, string mapJson){} } class UnityDownloadClient : IATDownloadClient { public void setListener(ATDownloadAdListener listener) { Debug.Log("Must run on Android platform"); } } class UnitySplashClient : IATSplashAdClient { public event EventHandler onAdLoadTimeoutEvent; public event EventHandler onDeeplinkEvent; public event EventHandler onDownloadConfirmEvent; public event EventHandler onAdShowEvent; public event EventHandler onAdCloseEvent; // called if the ad has failed to be shown public event EventHandler onAdShowFailureEvent; public event EventHandler onAdLoadEvent; public event EventHandler onAdLoadFailureEvent; public event EventHandler onAdClickEvent; public event EventHandler onRewardEvent; public event EventHandler onAdSourceAttemptEvent; public event EventHandler onAdSourceFilledEvent; public event EventHandler onAdSourceLoadFailureEvent; public event EventHandler onAdSourceBiddingAttemptEvent; public event EventHandler onAdSourceBiddingFilledEvent; public event EventHandler onAdSourceBiddingFailureEvent; public event EventHandler onPlayAgainStart; public event EventHandler onPlayAgainEnd; public event EventHandler onPlayAgainFailure; public event EventHandler onPlayAgainClick; public event EventHandler onPlayAgainReward; // public void loadSplashAd(string placementId, string mapJson) {} public void loadSplashAd(string placementId, int fetchAdTimeout, string defaultAdSourceConfig, string mapJson) {} public void setListener(ATSplashAdListener listener) {} public bool hasSplashAdReady(string placementId) { return false; } public string checkAdStatus(string placementId) { return ""; } public void showSplashAd(string placementId, string mapJson) {} /*** * 获取所有可用缓存广告 */ public string getValidAdCaches(string placementId) { return ""; } public void entryScenarioWithPlacementID(string placementId, string scenarioID) {} } }