123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342 |
- using System;
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- using AnyThinkAds.Common;
- using AnyThinkAds.Api;
- namespace AnyThinkAds.Android
- {
- public class ATNativeAdClient : AndroidJavaProxy, IATNativeAdClient
- {
- public event EventHandler<ATAdEventArgs> onAdLoadEvent;
- public event EventHandler<ATAdErrorEventArgs> onAdLoadFailureEvent;
- public event EventHandler<ATAdEventArgs> onAdImpressEvent;
- public event EventHandler<ATAdEventArgs> onAdClickEvent;
- public event EventHandler<ATAdEventArgs> onAdVideoStartEvent;
- public event EventHandler<ATAdEventArgs> onAdVideoEndEvent;
- public event EventHandler<ATAdProgressEventArgs> onAdVideoProgressEvent;
- public event EventHandler<ATAdEventArgs> onAdCloseEvent;
- 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;
- private Dictionary<string, AndroidJavaObject> nativeAdHelperMap = new Dictionary<string, AndroidJavaObject>();
- private ATNativeAdListener mlistener;
- public ATNativeAdClient(): base("com.anythink.unitybridge.nativead.NativeListener")
- {
- }
- public void loadNativeAd(string placementId, string mapJson)
- {
- Debug.Log ("loadNativeAd....jsonmap:"+mapJson);
- if(!nativeAdHelperMap.ContainsKey(placementId)){
- AndroidJavaObject nativeHelper = new AndroidJavaObject(
- "com.anythink.unitybridge.nativead.NativeHelper", this);
- nativeHelper.Call("initNative", placementId);
- nativeAdHelperMap.Add(placementId, nativeHelper);
- }
- try{
- if (nativeAdHelperMap.ContainsKey(placementId)) {
- nativeAdHelperMap[placementId].Call ("loadNative",mapJson);
- }
- }catch(System.Exception e){
- System.Console.WriteLine("Exception caught: {0}", e);
- Debug.Log ("ATNativeAdClient : error."+e.Message);
- }
- }
- public bool hasAdReady(string placementId)
- {
- bool isready = false;
- Debug.Log ("hasAdReady....");
- try{
- if (nativeAdHelperMap.ContainsKey(placementId)) {
- isready = nativeAdHelperMap[placementId].Call<bool> ("isAdReady");
- }
- }catch(System.Exception e){
- System.Console.WriteLine("Exception caught: {0}", e);
- Debug.Log ("ATNativeAdClient : error."+e.Message);
- }
- return isready;
- }
-
- public void entryScenarioWithPlacementID(string placementId, string scenarioID){
- Debug.Log("ATNativeAdClient : entryScenarioWithPlacementID....");
- try
- {
- if (nativeAdHelperMap.ContainsKey(placementId))
- {
- nativeAdHelperMap[placementId].Call("entryAdScenario", scenarioID);
- }
- }
- catch (System.Exception e)
- {
- System.Console.WriteLine("Exception caught: {0}", e);
- Debug.Log("ATNativeAdClient entryScenarioWithPlacementID: error." + e.Message);
- }
- }
- public string checkAdStatus(string placementId)
- {
- string adStatusJsonString = "";
- Debug.Log("ATNativeAdClient : checkAdStatus....");
- try
- {
- if (nativeAdHelperMap.ContainsKey(placementId))
- {
- adStatusJsonString = nativeAdHelperMap[placementId].Call<string>("checkAdStatus");
- }
- }
- catch (System.Exception e)
- {
- System.Console.WriteLine("Exception caught: {0}", e);
- Debug.Log("ATNativeAdClient : error." + e.Message);
- }
- return adStatusJsonString;
- }
- public string getValidAdCaches(string placementId)
- {
- string validAdCachesString = "";
- Debug.Log("ATNativeAdClient : getValidAdCaches....");
- try
- {
- if (nativeAdHelperMap.ContainsKey(placementId))
- {
- validAdCachesString = nativeAdHelperMap[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 setListener(ATNativeAdListener listener)
- {
- mlistener = listener;
- }
- public void renderAdToScene(string placementId, ATNativeAdView anyThinkNativeAdView, string mapJson)
- {
- string showconfig = anyThinkNativeAdView.toJSON ();
- //暂未实现 show
- Debug.Log ("renderAdToScene....showconfig >>>:"+showconfig);
- try{
- if (nativeAdHelperMap.ContainsKey(placementId)) {
- nativeAdHelperMap[placementId].Call ("show",showconfig, mapJson);
- }
- }catch(System.Exception e){
- Debug.Log ("ATNativeAdClient : error."+e.Message);
- System.Console.WriteLine("Exception caught: {0}", e);
- }
- }
- public void cleanAdView(string placementId, ATNativeAdView anyThinkNativeAdView)
- {
- //
- Debug.Log ("cleanAdView.... ");
- try{
- if (nativeAdHelperMap.ContainsKey(placementId)) {
- nativeAdHelperMap[placementId].Call ("cleanView");
- }
- }catch(System.Exception e){
- System.Console.WriteLine("Exception caught: {0}", e);
- Debug.Log ("ATNativeAdClient : error."+e.Message);
- }
- }
- public void onApplicationForces(string placementId, ATNativeAdView anyThinkNativeAdView)
- {
- Debug.Log ("onApplicationForces.... ");
- try{
- if (nativeAdHelperMap.ContainsKey(placementId)) {
- nativeAdHelperMap[placementId].Call ("onResume");
- }
- }catch(System.Exception e){
- System.Console.WriteLine("Exception caught: {0}", e);
- Debug.Log ("ATNativeAdClient : error."+e.Message);
- }
- }
- public void onApplicationPasue(string placementId, ATNativeAdView anyThinkNativeAdView)
- {
- Debug.Log ("onApplicationPasue.... ");
- try{
-
- if (nativeAdHelperMap.ContainsKey(placementId)) {
- nativeAdHelperMap[placementId].Call ("onPause");
- }
- }catch(System.Exception e){
- System.Console.WriteLine("Exception caught: {0}", e);
- Debug.Log ("ATNativeAdClient : error."+e.Message);
- }
- }
- public void cleanCache(string placementId)
- {
- Debug.Log ("cleanCache....");
- try{
- if (nativeAdHelperMap.ContainsKey(placementId)) {
- nativeAdHelperMap[placementId].Call ("clean");
- }
- }catch(System.Exception e){
- System.Console.WriteLine("Exception caught: {0}", e);
- Debug.Log ("ATNativeAdClient : error."+e.Message);
- }
- }
- /**
- * 广告展示回调
- *
- * @param view
- */
- public void onAdImpressed(string placementId, string callbackJson)
- {
- Debug.Log("onAdImpressed...unity3d.");
- onAdImpressEvent?.Invoke(this, new ATAdEventArgs(placementId,callbackJson));
- }
- /**
- * 广告点击回调
- *
- * @param view
- */
- public void onAdClicked(string placementId, string callbackJson)
- {
- Debug.Log("onAdClicked...unity3d.");
- onAdClickEvent?.Invoke(this, new ATAdEventArgs(placementId,callbackJson));
-
- }
- /**
- * 广告视频开始回调
- *
- * @param view
- */
- public void onAdVideoStart(string placementId)
- {
- Debug.Log("onAdVideoStart...unity3d.");
- onAdVideoStartEvent?.Invoke(this, new ATAdEventArgs(placementId));
- }
- /**
- * 广告视频结束回调
- *
- * @param view
- */
- public void onAdVideoEnd(string placementId)
- {
- Debug.Log("onAdVideoEnd...unity3d.");
- onAdVideoEndEvent?.Invoke(this, new ATAdEventArgs(placementId,""));
- }
- /**
- * 广告视频进度回调
- *
- * @param view
- */
- public void onAdVideoProgress(string placementId,int progress)
- {
- Debug.Log("onAdVideoProgress...progress[" + progress + "]");
- onAdVideoProgressEvent?.Invoke(this, new ATAdProgressEventArgs(placementId,"",progress));
- }
- /**
- * 广告视频进度回调
- *
- * @param view
- */
- public void onAdCloseButtonClicked(string placementId, string callbackJson)
- {
- Debug.Log("onAdCloseButtonClicked...unity3d");
- onAdCloseEvent?.Invoke(this, new ATAdEventArgs(placementId,callbackJson));
- }
- /**
- * 广告加载成功
- */
- public void onNativeAdLoaded(string placementId)
- {
- Debug.Log("onNativeAdLoaded...unity3d.");
- onAdLoadEvent?.Invoke(this, new ATAdEventArgs(placementId,""));
- }
- /**
- * 广告加载失败
- */
- public void onNativeAdLoadFail(string placementId,string code, string msg)
- {
- Debug.Log("onNativeAdLoadFail...unity3d. code:" + code + " msg:" + msg);
- onAdLoadFailureEvent?.Invoke(this, new ATAdErrorEventArgs(placementId,code,msg));
- }
- // 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,callbackJson,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,callbackJson,code,error));
- }
- }
- }
|