417 lines
		
	
	
		
			16 KiB
		
	
	
	
		
			C#
		
	
	
	
		
		
			
		
	
	
			417 lines
		
	
	
		
			16 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.Android | |||
|  | { | |||
|  |     public class ATRewardedVideoAdClient : AndroidJavaProxy,IATRewardedVideoAdClient | |||
|  |     { | |||
|  |         public event EventHandler<ATAdEventArgs>		onAdLoadEvent; | |||
|  |         public event EventHandler<ATAdErrorEventArgs>	onAdLoadFailureEvent; | |||
|  |         public event EventHandler<ATAdEventArgs>		onAdVideoStartEvent; | |||
|  |         public event EventHandler<ATAdEventArgs>		onAdVideoEndEvent; | |||
|  |         public event EventHandler<ATAdErrorEventArgs>	onAdVideoFailureEvent; | |||
|  |         public event EventHandler<ATAdRewardEventArgs>	onAdVideoCloseEvent; | |||
|  |         public event EventHandler<ATAdEventArgs>		onAdClickEvent; | |||
|  |         public event EventHandler<ATAdEventArgs>	onRewardEvent; | |||
|  |         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>		onPlayAgainStart; | |||
|  |         public event EventHandler<ATAdEventArgs>		onPlayAgainEnd; | |||
|  |         public event EventHandler<ATAdErrorEventArgs>	onPlayAgainFailure; | |||
|  |         public event EventHandler<ATAdEventArgs>		onPlayAgainClick; | |||
|  |         public event EventHandler<ATAdEventArgs>		onPlayAgainReward; | |||
|  | 
 | |||
|  | 
 | |||
|  |         private Dictionary<string, AndroidJavaObject> videoHelperMap = new Dictionary<string, AndroidJavaObject>(); | |||
|  | 
 | |||
|  |         private AndroidJavaObject videoAutoAdHelper; | |||
|  | 
 | |||
|  |         //private  AndroidJavaObject videoHelper; | |||
|  |         private  ATRewardedVideoListener anyThinkListener; | |||
|  | 
 | |||
|  |         public ATRewardedVideoAdClient() : base("com.thinkup.unitybridge.videoad.VideoListener") | |||
|  |         { | |||
|  |             videoAutoAdHelper = new AndroidJavaObject("com.thinkup.unitybridge.videoad.VideoAutoAdHelper", this); | |||
|  |         } | |||
|  | 
 | |||
|  | 
 | |||
|  |         public void loadVideoAd(string placementId, string mapJson) | |||
|  |         { | |||
|  | 
 | |||
|  |             if(!videoHelperMap.ContainsKey(placementId)) | |||
|  |             { | |||
|  |                 AndroidJavaObject videoHelper = new AndroidJavaObject( | |||
|  |                     "com.thinkup.unitybridge.videoad.VideoHelper", this); | |||
|  |                 videoHelper.Call("initVideo", placementId); | |||
|  |                 videoHelperMap.Add(placementId, videoHelper); | |||
|  |                 Debug.Log("ATRewardedVideoAdClient : no exit helper ,create helper "); | |||
|  |             } | |||
|  | 
 | |||
|  |             try | |||
|  |             { | |||
|  |                 Debug.Log("ATRewardedVideoAdClient : loadVideoAd "); | |||
|  |                 videoHelperMap[placementId].Call("fillVideo", mapJson); | |||
|  |             } | |||
|  |             catch (System.Exception e) | |||
|  |             { | |||
|  |                 System.Console.WriteLine("Exception caught: {0}", e); | |||
|  | 				Debug.Log ("ATRewardedVideoAdClient :  error."+e.Message); | |||
|  |             } | |||
|  | 
 | |||
|  | 
 | |||
|  |         } | |||
|  | 
 | |||
|  |         public void setListener(ATRewardedVideoListener listener) | |||
|  |         { | |||
|  |             anyThinkListener = listener; | |||
|  |         } | |||
|  | 
 | |||
|  |         public bool hasAdReady(string placementId) | |||
|  |         { | |||
|  | 			bool isready = false; | |||
|  | 			Debug.Log ("ATRewardedVideoAdClient : hasAdReady...."); | |||
|  | 			try{ | |||
|  |                 if (videoHelperMap.ContainsKey(placementId)) { | |||
|  |                     isready = videoHelperMap[placementId].Call<bool> ("isAdReady"); | |||
|  | 				} | |||
|  | 			}catch(System.Exception e){ | |||
|  | 				System.Console.WriteLine("Exception caught: {0}", e); | |||
|  | 				Debug.Log ("ATRewardedVideoAdClient :  error."+e.Message); | |||
|  | 			} | |||
|  | 			return isready;  | |||
|  |         } | |||
|  | 
 | |||
|  |         public string checkAdStatus(string placementId) | |||
|  |         { | |||
|  |             string adStatusJsonString = ""; | |||
|  |             Debug.Log("ATRewardedVideoAdClient : checkAdStatus...."); | |||
|  |             try | |||
|  |             { | |||
|  |                 if (videoHelperMap.ContainsKey(placementId)) | |||
|  |                 { | |||
|  |                     adStatusJsonString = videoHelperMap[placementId].Call<string>("checkAdStatus"); | |||
|  |                 } | |||
|  |             } | |||
|  |             catch (System.Exception e) | |||
|  |             { | |||
|  |                 System.Console.WriteLine("Exception caught: {0}", e); | |||
|  |                 Debug.Log("ATRewardedVideoAdClient :  error." + e.Message); | |||
|  |             } | |||
|  | 
 | |||
|  |             return adStatusJsonString; | |||
|  |         } | |||
|  | 
 | |||
|  |         public void entryScenarioWithPlacementID(string placementId, string scenarioID){ | |||
|  |             Debug.Log("ATRewardedVideoAdClient : entryScenarioWithPlacementID...."); | |||
|  |             try | |||
|  |             { | |||
|  |                 if (videoHelperMap.ContainsKey(placementId)) | |||
|  |                 { | |||
|  |                     videoHelperMap[placementId].Call("entryAdScenario", scenarioID); | |||
|  |                 } | |||
|  |             } | |||
|  |             catch (System.Exception e) | |||
|  |             { | |||
|  |                 System.Console.WriteLine("Exception caught: {0}", e); | |||
|  |                 Debug.Log("ATRewardedVideoAdClient entryScenarioWithPlacementID:  error." + e.Message); | |||
|  |             } | |||
|  | 
 | |||
|  |         } | |||
|  |      | |||
|  |          | |||
|  | 
 | |||
|  |         public string getValidAdCaches(string placementId) | |||
|  |         { | |||
|  |             string validAdCachesString = ""; | |||
|  |             Debug.Log("ATNativeAdClient : getValidAdCaches...."); | |||
|  |             try | |||
|  |             { | |||
|  |                 if (videoHelperMap.ContainsKey(placementId)) | |||
|  |                 { | |||
|  |                     validAdCachesString = videoHelperMap[placementId].Call<string>("getValidAdCaches"); | |||
|  |                 } | |||
|  |             } | |||
|  |             catch (System.Exception e) | |||
|  |             { | |||
|  |                 System.Console.WriteLine("Exception caught: {0}", e); | |||
|  |                 Debug.Log("ATNativeAdClient :  error." + e.Message); | |||
|  |             } | |||
|  | 
 | |||
|  |             return validAdCachesString; | |||
|  |         } | |||
|  | 
 | |||
|  |         public void showAd(string placementId, string scenario) | |||
|  |         { | |||
|  | 			Debug.Log("ATRewardedVideoAdClient : showAd " ); | |||
|  | 
 | |||
|  | 			try{ | |||
|  |                 if (videoHelperMap.ContainsKey(placementId)) { | |||
|  |                     this.videoHelperMap[placementId].Call ("showVideo", scenario); | |||
|  | 				} | |||
|  | 			}catch(System.Exception e){ | |||
|  | 				System.Console.WriteLine("Exception caught: {0}", e); | |||
|  | 				Debug.Log ("ATRewardedVideoAdClient :  error."+e.Message); | |||
|  | 
 | |||
|  | 			} | |||
|  |         } | |||
|  | 
 | |||
|  | 
 | |||
|  | 
 | |||
|  |         public void onRewardedVideoAdLoaded(string placementId) | |||
|  |         { | |||
|  |             Debug.Log("onRewardedVideoAdLoaded...unity3d."); | |||
|  |             onAdLoadEvent?.Invoke(this, new ATAdEventArgs(placementId)); | |||
|  |         } | |||
|  | 
 | |||
|  | 
 | |||
|  |         public void onRewardedVideoAdFailed(string placementId,string code, string error) | |||
|  |         { | |||
|  |             Debug.Log("onRewardedVideoAdFailed...unity3d."); | |||
|  |             onAdLoadFailureEvent?.Invoke(this, new ATAdErrorEventArgs(placementId, code, error)); | |||
|  |         } | |||
|  | 
 | |||
|  | 
 | |||
|  |         public void onRewardedVideoAdPlayStart(string placementId, string callbackJson) | |||
|  |         { | |||
|  |             Debug.Log("onRewardedVideoAdPlayStart...unity3d."); | |||
|  |             onAdVideoStartEvent?.Invoke(this, new ATAdEventArgs(placementId, callbackJson)); | |||
|  |         } | |||
|  | 
 | |||
|  | 
 | |||
|  |         public void onRewardedVideoAdPlayEnd(string placementId, string callbackJson) | |||
|  |         { | |||
|  |             Debug.Log("onRewardedVideoAdPlayEnd...unity3d."); | |||
|  |             onAdVideoEndEvent?.Invoke(this, new ATAdEventArgs(placementId, callbackJson)); | |||
|  |         } | |||
|  | 
 | |||
|  | 
 | |||
|  |         public void onRewardedVideoAdPlayFailed(string placementId,string code, string error) | |||
|  |         { | |||
|  |             Debug.Log("onRewardedVideoAdPlayFailed...unity3d."); | |||
|  |             onAdVideoFailureEvent?.Invoke(this, new ATAdErrorEventArgs(placementId, code, error)); | |||
|  |         } | |||
|  | 
 | |||
|  |         public void onRewardedVideoAdClosed(string placementId,bool isRewarded, string callbackJson) | |||
|  |         { | |||
|  |             Debug.Log("onRewardedVideoAdClosed...unity3d."); | |||
|  |             onAdVideoCloseEvent?.Invoke(this, new ATAdRewardEventArgs(placementId, callbackJson, isRewarded)); | |||
|  |         } | |||
|  | 
 | |||
|  |         public void onRewardedVideoAdPlayClicked(string placementId, string callbackJson) | |||
|  |         { | |||
|  |             Debug.Log("onRewardedVideoAdPlayClicked...unity3d."); | |||
|  |             onAdClickEvent?.Invoke(this, new ATAdEventArgs(placementId, callbackJson)); | |||
|  |             | |||
|  |         } | |||
|  | 
 | |||
|  | 
 | |||
|  |         public void onReward(string placementId, string callbackJson) | |||
|  |         { | |||
|  |             Debug.Log("onReward...unity3d."); | |||
|  |             onRewardEvent?.Invoke(this, new ATAdEventArgs(placementId, callbackJson)); | |||
|  |         } | |||
|  | 
 | |||
|  | 
 | |||
|  |         public void onRewardedVideoAdAgainPlayStart(string placementId, string callbackJson) | |||
|  |         { | |||
|  |             Debug.Log("onRewardedVideoAdAgainPlayStart...unity3d."); | |||
|  |             onPlayAgainStart?.Invoke(this, new ATAdEventArgs(placementId, callbackJson)); | |||
|  |         } | |||
|  | 
 | |||
|  |         public void onRewardedVideoAdAgainPlayEnd(string placementId, string callbackJson) | |||
|  |         { | |||
|  |             Debug.Log("onRewardedVideoAdAgainPlayEnd...unity3d."); | |||
|  |             onPlayAgainEnd?.Invoke(this, new ATAdEventArgs(placementId, callbackJson)); | |||
|  |         } | |||
|  | 
 | |||
|  | 
 | |||
|  |         public void onRewardedVideoAdAgainPlayFailed(string placementId, string code, string error) | |||
|  |         { | |||
|  |             Debug.Log("onRewardedVideoAdAgainPlayFailed...unity3d."); | |||
|  |             onPlayAgainFailure?.Invoke(this, new ATAdErrorEventArgs(placementId, code, error)); | |||
|  |         } | |||
|  | 
 | |||
|  | 
 | |||
|  |         public void onRewardedVideoAdAgainPlayClicked(string placementId, string callbackJson) | |||
|  |         { | |||
|  |             Debug.Log("onRewardedVideoAdAgainPlayClicked...unity3d."); | |||
|  |             onPlayAgainClick?.Invoke(this, new ATAdEventArgs(placementId, callbackJson)); | |||
|  |              | |||
|  |         } | |||
|  | 
 | |||
|  | 
 | |||
|  |         public void onAgainReward(string placementId, string callbackJson) | |||
|  |         { | |||
|  |             Debug.Log("onAgainReward...unity3d."); | |||
|  |             onPlayAgainReward?.Invoke(this, new ATAdRewardEventArgs(placementId, callbackJson, true)); | |||
|  |         } | |||
|  | 
 | |||
|  |         // Adsource Listener | |||
|  |         public void onAdSourceBiddingAttempt(string placementId, string callbackJson) | |||
|  |         { | |||
|  |             Debug.Log("onAdSourceBiddingAttempt...unity3d."+ placementId + "," + callbackJson); | |||
|  |             onAdSourceBiddingAttemptEvent?.Invoke(this, new ATAdEventArgs(placementId, callbackJson)); | |||
|  |         } | |||
|  | 
 | |||
|  |         public void onAdSourceBiddingFilled(string placementId, string callbackJson) | |||
|  |         { | |||
|  |             Debug.Log("onAdSourceBiddingFilled...unity3d." + placementId + "," + callbackJson); | |||
|  |             onAdSourceBiddingFilledEvent?.Invoke(this, new ATAdEventArgs(placementId, callbackJson)); | |||
|  |         } | |||
|  | 
 | |||
|  |         public void onAdSourceBiddingFail(string placementId, string callbackJson, string code, string error) | |||
|  |         { | |||
|  |             Debug.Log("onAdSourceBiddingFail...unity3d." + placementId + "," + code + "," + error + "," + callbackJson); | |||
|  |             onAdSourceBiddingFailureEvent?.Invoke(this, new ATAdErrorEventArgs(placementId, code, error)); | |||
|  |         } | |||
|  | 
 | |||
|  |         public void onAdSourceAttempt(string placementId, string callbackJson) | |||
|  |         { | |||
|  |             Debug.Log("onAdSourceAttempt...unity3d." + placementId + "," + callbackJson); | |||
|  |             onAdSourceAttemptEvent?.Invoke(this, new ATAdEventArgs(placementId, callbackJson)); | |||
|  |         } | |||
|  | 
 | |||
|  |         public void onAdSourceLoadFilled(string placementId, string callbackJson) | |||
|  |         { | |||
|  |             Debug.Log("onAdSourceLoadFilled...unity3d." + placementId + "," + callbackJson); | |||
|  |             onAdSourceFilledEvent?.Invoke(this, new ATAdEventArgs(placementId, callbackJson)); | |||
|  |         } | |||
|  | 
 | |||
|  |         public void onAdSourceLoadFail(string placementId, string callbackJson, string code, string error) | |||
|  |         { | |||
|  |             Debug.Log("onAdSourceLoadFail...unity3d." + placementId + "," + code + "," + error + "," + callbackJson); | |||
|  |             onAdSourceLoadFailureEvent?.Invoke(this,new ATAdErrorEventArgs(placementId, code, error)); | |||
|  |         } | |||
|  | 
 | |||
|  | 
 | |||
|  |         // Auto | |||
|  |         public void addAutoLoadAdPlacementID(string[] placementIDList){ | |||
|  |             Debug.Log("Unity: ATRewardedVideoAdClient:addAutoLoadAdPlacementID()" + JsonMapper.ToJson(placementIDList)); | |||
|  |             try | |||
|  |             { | |||
|  |                 videoAutoAdHelper.Call("addPlacementIds", JsonMapper.ToJson(placementIDList)); | |||
|  |             } | |||
|  |             catch (System.Exception e) | |||
|  |             { | |||
|  |                 System.Console.WriteLine("Exception caught: {0}", e); | |||
|  |                 Debug.Log("Unity: ATRewardedVideoAdClient addAutoLoadAdPlacementID:  error." + e.Message); | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         public void removeAutoLoadAdPlacementID(string placementId) { | |||
|  | 			Debug.Log("Unity: ATRewardedVideoAdClient:removeAutoLoadAdPlacementID()"); | |||
|  |             try | |||
|  |             { | |||
|  |                 videoAutoAdHelper.Call("removePlacementIds", placementId); | |||
|  |             } | |||
|  |             catch (System.Exception e) | |||
|  |             { | |||
|  |                 System.Console.WriteLine("Exception caught: {0}", e); | |||
|  |                 Debug.Log("Unity: ATRewardedVideoAdClient removeAutoLoadAdPlacementID:  error." + e.Message); | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  | 		public bool autoLoadRewardedVideoReadyForPlacementID(string placementId)  | |||
|  |         { | |||
|  | 			Debug.Log("Unity: ATRewardedVideoAdClient:autoLoadRewardedVideoReadyForPlacementID()"); | |||
|  |             bool isready = false; | |||
|  |             try | |||
|  |             { | |||
|  |                  isready = videoAutoAdHelper.Call<bool>("isAdReady", placementId); | |||
|  |             } | |||
|  |             catch (System.Exception e) | |||
|  |             { | |||
|  |                 System.Console.WriteLine("Exception caught: {0}", e); | |||
|  |                 Debug.Log("ATRewardedVideoAdClient:autoLoadRewardedVideoReadyForPlacementID( :  error." + e.Message); | |||
|  |             } | |||
|  |             return isready; | |||
|  | 		} | |||
|  | 
 | |||
|  | 		public string getAutoValidAdCaches(string placementId) | |||
|  | 		{ | |||
|  |             Debug.Log("Unity: ATRewardedVideoAdClient:getAutoValidAdCaches()"); | |||
|  |             string adStatusJsonString = ""; | |||
|  |             try | |||
|  |             { | |||
|  |                 adStatusJsonString = videoAutoAdHelper.Call<string>("getValidAdCaches", placementId); | |||
|  |             } | |||
|  |             catch (System.Exception e) | |||
|  |             { | |||
|  |                 System.Console.WriteLine("Exception caught: {0}", e); | |||
|  |                 Debug.Log("ATRewardedVideoAdClient:getAutoValidAdCaches() :  error." + e.Message); | |||
|  |             } | |||
|  | 
 | |||
|  |             return adStatusJsonString; | |||
|  | 		} | |||
|  | 
 | |||
|  | 		public void setAutoLocalExtra(string placementId, string mapJson)  | |||
|  |         { | |||
|  |             Debug.Log("Unity: ATRewardedVideoAdClient:setAutoLocalExtra()"); | |||
|  |             try | |||
|  |             { | |||
|  |                 videoAutoAdHelper.Call("setAdExtraData", placementId, mapJson); | |||
|  |             } | |||
|  |             catch (System.Exception e) | |||
|  |             { | |||
|  |                 System.Console.WriteLine("Exception caught: {0}", e); | |||
|  |                 Debug.Log("ATRewardedVideoAdClient:setAutoLocalExtra() :  error." + e.Message); | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         public void entryAutoAdScenarioWithPlacementID(string placementId, string scenarioID)  | |||
|  |         { | |||
|  |             Debug.Log("Unity: ATRewardedVideoAdClient:entryAutoAdScenarioWithPlacementID()"); | |||
|  |             try | |||
|  |             { | |||
|  |                 videoAutoAdHelper.Call("entryAdScenario", placementId, scenarioID); | |||
|  |             } | |||
|  |             catch (System.Exception e) | |||
|  |             { | |||
|  |                 System.Console.WriteLine("Exception caught: {0}", e); | |||
|  |                 Debug.Log("ATRewardedVideoAdClient:entryAutoAdScenarioWithPlacementID() :  error." + e.Message); | |||
|  |             } | |||
|  |         } | |||
|  | 		public void showAutoAd(string placementId, string mapJson) { | |||
|  |             Debug.Log("Unity: ATRewardedVideoAdClient:showAutoAd()"); | |||
|  |             try | |||
|  |             { | |||
|  |                 videoAutoAdHelper.Call("show", placementId, mapJson); | |||
|  |             } | |||
|  |             catch (System.Exception e) | |||
|  |             { | |||
|  |                 System.Console.WriteLine("Exception caught: {0}", e); | |||
|  |                 Debug.Log("Unity: ATRewardedVideoAdClient:showAutoAd() :  error." + e.Message); | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         public string checkAutoAdStatus(string placementId) | |||
|  |         { | |||
|  |             Debug.Log("Unity: ATRewardedVideoAdClient:checkAutoAdStatus() : checkAutoAdStatus...."); | |||
|  |             string adStatusJsonString = ""; | |||
|  |             try | |||
|  |             { | |||
|  |                 adStatusJsonString = videoAutoAdHelper.Call<string>("checkAdStatus", placementId); | |||
|  |             } | |||
|  |             catch (System.Exception e) | |||
|  |             { | |||
|  |                 System.Console.WriteLine("Exception caught: {0}", e); | |||
|  |                 Debug.Log("Unity: ATRewardedVideoAdClient:checkAutoAdStatus() :  error." + e.Message); | |||
|  |             } | |||
|  | 
 | |||
|  |             return adStatusJsonString; | |||
|  |         } | |||
|  | 
 | |||
|  | 
 | |||
|  | 
 | |||
|  |     } | |||
|  | } |