234 lines
		
	
	
		
			9.7 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			234 lines
		
	
	
		
			9.7 KiB
		
	
	
	
		
			C#
		
	
	
	
| using System;
 | |
| using System.Collections;
 | |
| using System.Collections.Generic;
 | |
| using UnityEngine;
 | |
| using AnyThinkAds.Common;
 | |
| using AnyThinkAds.Api;
 | |
| using AnyThinkAds.ThirdParty.LitJson;
 | |
| 
 | |
| 
 | |
| namespace AnyThinkAds.iOS {
 | |
| 	
 | |
| 	public class ATSplashAdClient : IATSplashAdClient {
 | |
| 		private  ATSplashAdListener anyThinkListener;
 | |
| 		public event EventHandler<ATAdEventArgs>        onAdLoadEvent;
 | |
|         public event EventHandler<ATAdErrorEventArgs>   onAdLoadFailureEvent;
 | |
|         public event EventHandler<ATAdEventArgs>        onAdShowEvent;
 | |
|         public event EventHandler<ATAdErrorEventArgs>   onAdShowFailureEvent;
 | |
|         public event EventHandler<ATAdEventArgs>        onAdCloseEvent;
 | |
|         public event EventHandler<ATAdEventArgs>        onAdClickEvent;
 | |
|         public event EventHandler<ATAdEventArgs>        onAdVideoStartEvent;
 | |
|         public event EventHandler<ATAdErrorEventArgs>   onAdVideoFailureEvent;
 | |
|         public event EventHandler<ATAdEventArgs>        onAdVideoEndEvent;
 | |
|         public event EventHandler<ATAdEventArgs>        onAdSourceAttemptEvent;
 | |
|         public event EventHandler<ATAdEventArgs>        onAdSourceFilledEvent;
 | |
|         public event EventHandler<ATAdErrorEventArgs>   onAdSourceLoadFailureEvent;
 | |
|         public event EventHandler<ATAdEventArgs>        onAdSourceBiddingAttemptEvent;
 | |
|         public event EventHandler<ATAdEventArgs>        onAdSourceBiddingFilledEvent;
 | |
|         public event EventHandler<ATAdErrorEventArgs>   onAdSourceBiddingFailureEvent;
 | |
| 		public event EventHandler<ATAdEventArgs>        onAdLoadTimeoutEvent;
 | |
| 		public event EventHandler<ATAdEventArgs>        onDeeplinkEvent;
 | |
| 		public event EventHandler<ATAdEventArgs>        onDownloadConfirmEvent;  
 | |
| 
 | |
| 		public void addsetting(string placementId,string json){
 | |
| 			//todo...
 | |
| 		}
 | |
| 
 | |
| 		public void setListener(ATSplashAdListener listener) {
 | |
| 			Debug.Log("Unity: ATSplashAdAdClient::setListener()");
 | |
| 	        anyThinkListener = listener;
 | |
| 	    }
 | |
| 
 | |
| 	    public void loadSplashAd(string placementId, int fetchAdTimeout, string defaultAdSourceConfig, string mapJson) {
 | |
| 			Debug.Log("Unity: ATSplashAdAdClient::loadSplashAd()");
 | |
|             ATSplashAdWrapper.setClientForPlacementID(placementId, this);
 | |
| 			ATSplashAdWrapper.loadSplashAd(placementId, mapJson);
 | |
| 		}
 | |
| 
 | |
| 		public bool hasSplashAdReady(string placementId) {
 | |
| 			Debug.Log("Unity: ATSplashAdAdClient::hasSplashAdReady()");
 | |
| 			return ATSplashAdWrapper.hasSplashAdReady(placementId);
 | |
| 		}
 | |
| 
 | |
| 		public void showSplashAd(string placementId, string mapJson) {
 | |
| 			Debug.Log("Unity: ATSplashAdAdClient::showSplashAd()");
 | |
| 			ATSplashAdWrapper.showSplashAd(placementId, mapJson);
 | |
| 		}
 | |
| 
 | |
| 		public void cleanCache(string placementId) {
 | |
| 			Debug.Log("Unity: ATSplashAdAdClient::cleanCache()");
 | |
| 			ATSplashAdWrapper.clearCache(placementId);
 | |
| 		}
 | |
| 
 | |
| 		public string checkAdStatus(string placementId) {
 | |
| 			Debug.Log("Unity: ATSplashAdAdClient::checkAdStatus()");
 | |
| 			return ATSplashAdWrapper.checkAdStatus(placementId);
 | |
| 		}
 | |
| 
 | |
| 		public string getValidAdCaches(string placementId)
 | |
| 		{
 | |
| 			Debug.Log("Unity: ATSplashAdAdClient::getValidAdCaches()");
 | |
| 			return ATSplashAdWrapper.getValidAdCaches(placementId);
 | |
| 		}
 | |
| 
 | |
| 		public void entryScenarioWithPlacementID(string placementId, string scenarioID){
 | |
|             Debug.Log("Unity: ATSplashAdAdClient::entryScenarioWithPlacementID()");
 | |
| 			ATSplashAdWrapper.entryScenarioWithPlacementID(placementId,scenarioID);
 | |
| 		}
 | |
| 
 | |
| 
 | |
| 		//Callbacks
 | |
| 		public void OnSplashAdDeeplink(string placementID, String callbackJson, bool isSuccess) {
 | |
|             onDeeplinkEvent?.Invoke(this, new ATAdEventArgs(placementID, callbackJson, false, isSuccess));
 | |
|         }
 | |
| 
 | |
| 		public void OnSplashAdLoadTimeout(string placementID) {
 | |
| 			Debug.Log("OnSplashAdLoadTimeout...unity3d.");
 | |
| 			onAdLoadTimeoutEvent?.Invoke(this, new ATAdEventArgs(placementID, "", true));
 | |
| 	    }
 | |
| 
 | |
| 		public void OnSplashAdLoaded(string placementID) {
 | |
| 	      Debug.Log("onSplashAdLoaded...unity3d.");
 | |
|             onAdLoadEvent?.Invoke(this, new ATAdEventArgs(placementID));
 | |
| 	    }
 | |
| 
 | |
| 	    public void OnSplashAdLoadFailure(string placementID, string code, string error) {
 | |
| 	     	Debug.Log("onSplashAdFailed...unity3d.");
 | |
|             onAdLoadFailureEvent?.Invoke(this, new ATAdErrorEventArgs(placementID, code, error));
 | |
| 	    }
 | |
| 
 | |
| 	     public void OnSplashAdVideoPlayFailure(string placementID, string code, string error) {
 | |
| 	    	Debug.Log("Unity: ATSplashAdAdClient::OnSplashAdVideoPlayFailure()");
 | |
| 	        onAdVideoFailureEvent?.Invoke(this, new ATAdErrorEventArgs(placementID, code, error));
 | |
| 	    }
 | |
| 
 | |
| 	    public void OnSplashAdVideoPlayStart(string placementID, string callbackJson) {
 | |
| 	    	Debug.Log("Unity: ATSplashAdAdClient::OnSplashAdPlayStart()");
 | |
| 	        onAdVideoStartEvent?.Invoke(this, new ATAdEventArgs(placementID, callbackJson));
 | |
| 	    }
 | |
| 
 | |
| 	    public void OnSplashAdVideoPlayEnd(string placementID, string callbackJson) {
 | |
| 	    	Debug.Log("Unity: ATSplashAdAdClient::OnSplashAdVideoPlayEnd()");
 | |
| 	         onAdVideoEndEvent?.Invoke(this, new ATAdEventArgs(placementID, callbackJson));
 | |
| 	    }
 | |
| 
 | |
|         public void OnSplashAdShow(string placementID, string callbackJson) {
 | |
| 	    	Debug.Log("Unity: ATSplashAdAdClient::OnSplashAdShow()");
 | |
|             onAdShowEvent?.Invoke(this, new ATAdEventArgs(placementID, callbackJson));
 | |
| 	    }
 | |
| 
 | |
|         public void OnSplashAdFailedToShow(string placementID) {
 | |
| 	    	Debug.Log("Unity: ATSplashAdAdClient::OnSplashAdFailedToShow()");
 | |
| 	        onAdShowFailureEvent?.Invoke(this, new ATAdErrorEventArgs(placementID, "-1", "Failed to show video ad"));
 | |
| 	    }
 | |
| 
 | |
|         public void OnSplashAdClick(string placementID, string callbackJson) {
 | |
| 	    	Debug.Log("Unity: ATSplashAdAdClient::OnSplashAdClick()");
 | |
|              onAdClickEvent?.Invoke(this, new ATAdEventArgs(placementID, callbackJson));
 | |
| 	    }
 | |
| 
 | |
|         public void OnSplashAdClose(string placementID, string callbackJson) {
 | |
| 	    	Debug.Log("Unity: ATSplashAdAdClient::OnSplashAdClose()");
 | |
|             onAdCloseEvent?.Invoke(this, new ATAdEventArgs(placementID, callbackJson));
 | |
| 	    }
 | |
| 		
 | |
| 		//auto callbacks
 | |
| 	    public void startLoadingADSource(string placementId, string callbackJson) 
 | |
| 		{
 | |
| 	        Debug.Log("Unity: ATSplashAdAdClient::startLoadingADSource()");
 | |
|            onAdSourceAttemptEvent?.Invoke(this, new ATAdEventArgs(placementId, callbackJson));
 | |
| 	    }
 | |
| 	    public void finishLoadingADSource(string placementId, string callbackJson) 
 | |
| 		{
 | |
| 	        Debug.Log("Unity: ATSplashAdAdClient::finishLoadingADSource()");
 | |
|            onAdSourceFilledEvent?.Invoke(this, new ATAdEventArgs(placementId, callbackJson));
 | |
| 	    }	
 | |
| 	    public void failToLoadADSource(string placementId, string callbackJson,string code, string error) 
 | |
| 		{
 | |
| 	        Debug.Log("Unity: ATSplashAdAdClient::failToLoadADSource()");
 | |
| 	        onAdSourceLoadFailureEvent?.Invoke(this, new ATAdErrorEventArgs(placementId, callbackJson, code, error));
 | |
| 	    }
 | |
| 		public void startBiddingADSource(string placementId, string callbackJson) 
 | |
| 		{
 | |
| 	        Debug.Log("Unity: ATSplashAdAdClient::startBiddingADSource()");
 | |
|            onAdSourceBiddingAttemptEvent?.Invoke(this, new ATAdEventArgs(placementId, callbackJson));
 | |
| 	    }
 | |
| 	    public void finishBiddingADSource(string placementId, string callbackJson) 
 | |
| 		{
 | |
| 	        Debug.Log("Unity: ATSplashAdAdClient::finishBiddingADSource()");
 | |
|           	onAdSourceBiddingFilledEvent?.Invoke(this, new ATAdEventArgs(placementId, callbackJson));
 | |
| 	    }	
 | |
| 	    public void failBiddingADSource(string placementId,string callbackJson, string code, string error) 
 | |
| 		{
 | |
| 	        Debug.Log("Unity: ATSplashAdAdClient::failBiddingADSource()");
 | |
| 	        onAdSourceBiddingFailureEvent?.Invoke(this, new ATAdErrorEventArgs(placementId, callbackJson, code, error));
 | |
| 	    }
 | |
| 
 | |
| 	    // Auto
 | |
| 		public void addAutoLoadAdPlacementID(string[] placementIDList) 
 | |
| 		{
 | |
| 			Debug.Log("Unity: ATSplashAdAdClient:addAutoLoadAdPlacementID()");
 | |
| 
 | |
| 		
 | |
| 
 | |
| 	     	if (placementIDList != null && placementIDList.Length > 0)
 | |
|             {
 | |
| 				foreach (string placementID in placementIDList)
 | |
|         		{
 | |
| 					ATSplashAdWrapper.setClientForPlacementID(placementID, this);
 | |
| 				}
 | |
| 
 | |
|                 string placementIDListString = JsonMapper.ToJson(placementIDList);
 | |
| 				ATSplashAdWrapper.addAutoLoadAdPlacementID(placementIDListString);
 | |
|                 Debug.Log("addAutoLoadAdPlacementID, placementIDList === " + placementIDListString);
 | |
|             }
 | |
|             else
 | |
|             {
 | |
|                 Debug.Log("addAutoLoadAdPlacementID, placementIDList = null");
 | |
|             } 		
 | |
| 
 | |
| 		}
 | |
| 
 | |
| 		public void removeAutoLoadAdPlacementID(string placementId) 
 | |
| 		{
 | |
| 			Debug.Log("Unity: ATSplashAdAdClient:removeAutoLoadAdPlacementID()");
 | |
| 			ATSplashAdWrapper.removeAutoLoadAdPlacementID(placementId);
 | |
| 		}
 | |
| 
 | |
| 		public bool autoLoadSplashAdReadyForPlacementID(string placementId) 
 | |
| 		{
 | |
| 			Debug.Log("Unity: ATSplashAdAdClient:autoLoadSplashAdReadyForPlacementID()");
 | |
| 			return ATSplashAdWrapper.autoLoadSplashAdReadyForPlacementID(placementId);
 | |
| 		}
 | |
| 		public string getAutoValidAdCaches(string placementId)
 | |
| 		{
 | |
| 			Debug.Log("Unity: ATSplashAdAdClient:getAutoValidAdCaches()");
 | |
| 			return ATSplashAdWrapper.getAutoValidAdCaches(placementId);
 | |
| 		}
 | |
| 
 | |
| 		public string checkAutoAdStatus(string placementId) {
 | |
| 			Debug.Log("Unity: ATSplashAdAdClient::checkAutoAdStatus()");
 | |
| 			return ATSplashAdWrapper.checkAutoAdStatus(placementId);
 | |
| 		}	
 | |
| 
 | |
| 
 | |
| 		public void setAutoLocalExtra(string placementId, string mapJson) 
 | |
| 		{
 | |
| 			Debug.Log("Unity: ATSplashAdAdClient:setAutoLocalExtra()");
 | |
| 			ATSplashAdWrapper.setAutoLocalExtra(placementId, mapJson);
 | |
| 		}
 | |
| 		public void entryAutoAdScenarioWithPlacementID(string placementId, string scenarioID) 
 | |
| 		{
 | |
| 			Debug.Log("Unity: ATSplashAdAdClient:entryAutoAdScenarioWithPlacementID()");
 | |
| 			ATSplashAdWrapper.entryAutoAdScenarioWithPlacementID(placementId, scenarioID);
 | |
| 		}
 | |
| 		public void showAutoAd(string placementId, string mapJson) 
 | |
| 		{
 | |
| 	    	Debug.Log("Unity: ATSplashAdAdClient::showAutoAd()");
 | |
| 	    	ATSplashAdWrapper.showAutoSplashAd(placementId, mapJson);
 | |
| 	    }
 | |
| 
 | |
| 
 | |
| 	}
 | |
| }
 |