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;
 | |
|         }
 | |
| 
 | |
| 
 | |
| 
 | |
|     }
 | |
| }
 |