751 lines
		
	
	
		
			22 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			751 lines
		
	
	
		
			22 KiB
		
	
	
	
		
			C#
		
	
	
	
| using System.Collections;
 | ||
| using System.Collections.Generic;
 | ||
| using System;
 | ||
| using UnityEngine;
 | ||
| #if ANDROID_CN
 | ||
| using AnyThinkAds.Api;
 | ||
| #endif
 | ||
| using Touka.GameLogic;
 | ||
| #if ANDROID_CN
 | ||
| using UnityEngine;
 | ||
| #endif
 | ||
| 
 | ||
| public partial class TGAndroidAdManager : MonoBehaviour
 | ||
| {
 | ||
| 
 | ||
|     private static TGAndroidAdManager s_instance;
 | ||
|     public static TGAndroidAdManager Instance
 | ||
|     {
 | ||
|         get
 | ||
|         {
 | ||
|             if (s_instance == null)
 | ||
|             {
 | ||
|                 GameObject TGGameObject = new GameObject
 | ||
|                 {
 | ||
|                     name = "AdObject"
 | ||
|                 };
 | ||
|                 s_instance = TGGameObject.AddComponent<TGAndroidAdManager>();
 | ||
|                 DontDestroyOnLoad(TGGameObject);
 | ||
|             }
 | ||
|             return s_instance;
 | ||
|         }
 | ||
|     }
 | ||
|     private string isReward = "False";
 | ||
| 
 | ||
| #if ANDROID_CN
 | ||
|     private ATCallbackListener rvListener = null;
 | ||
|     private InterstitalCallback ivListener = null;
 | ||
|     private BannerCallback bannerCallback = null;
 | ||
| 
 | ||
| #endif
 | ||
| 
 | ||
| #if UNITY_ANDROID && !UNITY_EDITOR && ANDROID_TW
 | ||
| 
 | ||
|     private AndroidJavaClass androidTWSDKManager = new AndroidJavaClass("com.touka.tiwai.TWSDKManager");
 | ||
|     private static AndroidJavaClass javaClassUnityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
 | ||
|     private AndroidJavaObject currentActivity = javaClassUnityPlayer.GetStatic<AndroidJavaObject>("currentActivity");
 | ||
| 
 | ||
| #endif
 | ||
| 
 | ||
|     public void InitSDK(string appID, string appKey)
 | ||
|     {
 | ||
| 
 | ||
| 
 | ||
| #if UNITY_ANDROID
 | ||
| #if NO_SDK
 | ||
|         
 | ||
| #elif ANDROID_CN //中国地区
 | ||
|         ToukaAndroidCallbackInit();
 | ||
| 
 | ||
|         ATSDKAPI.initSDK(appID, appKey);
 | ||
| 
 | ||
| #elif ANDROID_GP
 | ||
| 
 | ||
|         MaxSdkCallbacks.Interstitial.OnAdLoadedEvent += OnInterstitialLoadedEvent;
 | ||
|         MaxSdkCallbacks.Interstitial.OnAdLoadFailedEvent += OnInterstitialLoadFailEvent;
 | ||
|         MaxSdkCallbacks.Interstitial.OnAdDisplayFailedEvent += InterstitialFailedToDisplayEvent;
 | ||
|         MaxSdkCallbacks.Interstitial.OnAdHiddenEvent += OnInterstitialDismissedEvent;
 | ||
|         MaxSdkCallbacks.Interstitial.OnAdDisplayedEvent += OnInterstitialDisplayedEvent;
 | ||
| 
 | ||
|         // Attach callback
 | ||
|         MaxSdkCallbacks.Rewarded.OnAdLoadedEvent += OnRewardedAdLoadedEvent;
 | ||
|         MaxSdkCallbacks.Rewarded.OnAdLoadFailedEvent += OnRewardedAdLoadFailEvent;
 | ||
|         MaxSdkCallbacks.Rewarded.OnAdDisplayFailedEvent += OnRewardedAdFailedToDisplayEvent;
 | ||
|         MaxSdkCallbacks.Rewarded.OnAdDisplayedEvent += OnRewardedAdDisplayedEvent;
 | ||
|         MaxSdkCallbacks.Rewarded.OnAdClickedEvent += OnRewardedAdClickedEvent;
 | ||
|         MaxSdkCallbacks.Rewarded.OnAdHiddenEvent += OnRewardedAdDismissedEvent;
 | ||
|         MaxSdkCallbacks.Rewarded.OnAdReceivedRewardEvent += OnRewardedAdReceivedRewardEvent;
 | ||
| 
 | ||
|         MaxSdkCallbacks.Banner.OnAdLoadedEvent += OnBannerLoadedEvent;
 | ||
|         MaxSdkCallbacks.Banner.OnAdLoadFailedEvent += OnBannerLoadFailEvent;
 | ||
| 
 | ||
|         MaxSdk.SetSdkKey("QVt-ZBOR44Frm2Ub8gEfbPo-K8SeKHvyzoq-TJ3op08cFx29THV9DviWinxrQBxNePGKU14gHOkClTrNOi_1a9");
 | ||
| 
 | ||
| 
 | ||
|         MaxSdk.InitializeSdk();
 | ||
| 
 | ||
| #elif ANDROID_TW && !UNITY_EDITOR
 | ||
| 
 | ||
| #endif
 | ||
| #endif
 | ||
|         
 | ||
|     }
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| #if UNITY_ANDROID
 | ||
|     #region banner
 | ||
|     public void LoadBannerWithUnitId(string unitId)
 | ||
|     {
 | ||
| #if NO_SDK
 | ||
|         
 | ||
| #elif ANDROID_CN //中国地区
 | ||
| 
 | ||
|         
 | ||
| #elif ANDROID_GP
 | ||
| 
 | ||
| #endif
 | ||
|     }
 | ||
| 
 | ||
|     public bool IsReadyBannerWithUnitId(string unitId)
 | ||
|     {
 | ||
| #if NO_SDK
 | ||
|         return false;
 | ||
| #elif ANDROID_CN //中国地区
 | ||
|         return false ;
 | ||
| #elif ANDROID_GP //海外地区
 | ||
|         return false;
 | ||
| #else
 | ||
|         return false;
 | ||
| #endif
 | ||
|     }
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
|     public void ShowBannerWithUnitId(string unitId)
 | ||
|     {
 | ||
| #if NO_SDK
 | ||
|         
 | ||
| #elif ANDROID_CN //中国地区
 | ||
| 
 | ||
| #elif ANDROID_GP //海外地区
 | ||
| 
 | ||
| #endif
 | ||
|     }
 | ||
| 
 | ||
|     public void HideBanner()
 | ||
|     {
 | ||
| #if NO_SDK
 | ||
|         
 | ||
| #elif ANDROID_CN //中国地区
 | ||
| 
 | ||
| #elif ANDROID_GP //海外地区
 | ||
| 
 | ||
| #endif
 | ||
|     }
 | ||
| 
 | ||
|     public void RemoveBanner()
 | ||
|     {
 | ||
| #if NO_SDK
 | ||
|         
 | ||
| #elif ANDROID_CN //中国地区
 | ||
| 
 | ||
| #elif ANDROID_GP //海外地区
 | ||
| 
 | ||
| #endif
 | ||
|     }
 | ||
|     #endregion
 | ||
| 
 | ||
|     #region interstitial
 | ||
|     public void Loadinterstitial(string unitId)
 | ||
|     {
 | ||
| #if NO_SDK
 | ||
|         
 | ||
| #elif ANDROID_CN //中国地区 
 | ||
|         Dictionary<string, object> jsonmap = new Dictionary<string, object>();
 | ||
|         jsonmap.Add(AnyThinkAds.Api.ATConst.USE_REWARDED_VIDEO_AS_INTERSTITIAL, AnyThinkAds.Api.ATConst.USE_REWARDED_VIDEO_AS_INTERSTITIAL_NO);
 | ||
|         ATInterstitialAd.Instance.loadInterstitialAd(unitId, jsonmap);
 | ||
| 
 | ||
| #elif ANDROID_GP //海外地区
 | ||
|         MaxSdk.LoadInterstitial(unitId);
 | ||
| #elif ANDROID_TW && !UNITY_EDITOR
 | ||
|         androidTWSDKManager.CallStatic("preLoadInteraction", currentActivity);
 | ||
| #endif
 | ||
|     }
 | ||
| 
 | ||
|     public bool IsReadyinterstitial(string unitId)
 | ||
|     {
 | ||
| #if NO_SDK
 | ||
|         return false;
 | ||
| #elif ANDROID_CN //中国地区
 | ||
| 
 | ||
|         return ATInterstitialAd.Instance.hasInterstitialAdReady(unitId);
 | ||
| 
 | ||
| #elif ANDROID_GP //海外地区
 | ||
|         return MaxSdk.IsInterstitialReady(unitId);
 | ||
| #elif ANDROID_TW && !UNITY_EDITOR
 | ||
| 
 | ||
|          return androidTWSDKManager.CallStatic<bool>("interactionCached");
 | ||
| #else
 | ||
|         return false;
 | ||
| #endif
 | ||
|     }
 | ||
| 
 | ||
|     public void Showinterstitial(string unitId)
 | ||
|     {
 | ||
| #if NO_SDK
 | ||
|         
 | ||
| #elif ANDROID_CN //中国地区
 | ||
|        ATInterstitialAd.Instance.showInterstitialAd(unitId);
 | ||
| #elif ANDROID_GP //海外地区
 | ||
|         MaxSdk.ShowInterstitial(unitId);
 | ||
| #elif ANDROID_TW && !UNITY_EDITOR
 | ||
|         androidTWSDKManager.CallStatic("showInteractionVideoAd", currentActivity);
 | ||
| #endif
 | ||
|     }
 | ||
|     #endregion
 | ||
| 
 | ||
| 
 | ||
|     #region native
 | ||
|     public void LoadNative(string unitId, float width, float height)
 | ||
|     {
 | ||
| #if NO_SDK
 | ||
|         
 | ||
| #elif ANDROID_CN //中国地区
 | ||
| 
 | ||
| #elif ANDROID_GP //海外地区
 | ||
| #elif !UNITY_EDITOR && ANDROID_TW
 | ||
| 
 | ||
|         androidTWSDKManager.CallStatic("preloadNativeAd",currentActivity, width, height);
 | ||
| 
 | ||
| #endif
 | ||
|     }
 | ||
| 
 | ||
|     public bool IsReadNative(string unitId)
 | ||
|     {
 | ||
| #if NO_SDK
 | ||
|         return false;
 | ||
| #elif ANDROID_CN //中国地区
 | ||
|         return false;
 | ||
| #elif ANDROID_GP //海外地区
 | ||
|         return false;
 | ||
| #elif !UNITY_EDITOR && ANDROID_TW
 | ||
|         return false;
 | ||
| #else
 | ||
|         return false;
 | ||
| #endif
 | ||
|     }
 | ||
| 
 | ||
|     public void ShowNative(float x, float y, float width, float height, string unitId)
 | ||
|     {
 | ||
| 
 | ||
| #if NO_SDK
 | ||
|         
 | ||
| #elif ANDROID_CN //中国地区
 | ||
| 
 | ||
| #elif ANDROID_GP //海外地区
 | ||
| 
 | ||
| #elif !UNITY_EDITOR && ANDROID_TW
 | ||
| #endif
 | ||
|     }
 | ||
| 
 | ||
|     public void RemoveNative()
 | ||
|     {
 | ||
| #if NO_SDK
 | ||
|         
 | ||
| #elif ANDROID_CN //中国地区
 | ||
| 
 | ||
| #elif ANDROID_GP //海外地区
 | ||
| 
 | ||
| #endif
 | ||
| 
 | ||
|     }
 | ||
|     #endregion
 | ||
| 
 | ||
|     #region rewardVideo
 | ||
|     public void LoadVideo(string unitId)
 | ||
|     {
 | ||
| #if NO_SDK
 | ||
| 
 | ||
| #elif ANDROID_CN //中国地区
 | ||
|         Dictionary<string, string> jsonmap = new Dictionary<string, string>();
 | ||
|         ATRewardedVideo.Instance.loadVideoAd(unitId, jsonmap);
 | ||
| #elif ANDROID_GP //海外地区
 | ||
|         MaxSdk.LoadRewardedAd(unitId);
 | ||
| #elif !UNITY_EDITOR && ANDROID_TW
 | ||
|         androidTWSDKManager.CallStatic("preloadRewardAd",currentActivity);
 | ||
| #endif
 | ||
|     }
 | ||
| 
 | ||
|     public bool IsReadyVideo(string unitId)
 | ||
|     {
 | ||
| #if NO_SDK
 | ||
| 
 | ||
|         return false;
 | ||
| 
 | ||
| #elif ANDROID_CN //中国地区
 | ||
| 
 | ||
|         return ATRewardedVideo.Instance.hasAdReady(unitId); ;
 | ||
| 
 | ||
| #elif ANDROID_GP //海外地区
 | ||
|         return MaxSdk.IsRewardedAdReady(unitId);
 | ||
| #elif !UNITY_EDITOR && ANDROID_TW
 | ||
|         return androidTWSDKManager.CallStatic<bool>("isRewardVideoCached");
 | ||
| #else
 | ||
|         return false;
 | ||
| #endif
 | ||
|     }
 | ||
| 
 | ||
|     public void ShowVideo(string unitId)
 | ||
|     {
 | ||
| #if NO_SDK
 | ||
| 
 | ||
| #elif ANDROID_CN //中国地区
 | ||
| 
 | ||
|         ATRewardedVideo.Instance.showAd(unitId);
 | ||
| 
 | ||
| #elif ANDROID_GP //海外地区
 | ||
|         MaxSdk.ShowRewardedAd(unitId);
 | ||
| #elif ANDROID_TW && !UNITY_EDITOR
 | ||
|         androidTWSDKManager.CallStatic("showRewardVideo",currentActivity);
 | ||
| #endif
 | ||
|     }
 | ||
|     #endregion
 | ||
| #endif
 | ||
| 
 | ||
| 
 | ||
| #if ANDROID_TW
 | ||
| #region interstitialCallback
 | ||
| 
 | ||
|     public void TGInterstitialAdLoad(string obj)
 | ||
|     {
 | ||
|         TGUniversalFunc.onSetInterstitialListener_onAdLoaded?.Invoke();
 | ||
|     }
 | ||
| 
 | ||
|     public void TGInterstitialAdLoadFail(string obj)
 | ||
|     {
 | ||
|         TGUniversalFunc.onSetInterstitialListener_onAdFailedToLoad?.Invoke();
 | ||
|     }
 | ||
| 
 | ||
|     public void TGInterstitialAdShow(string obj)
 | ||
|     {
 | ||
|         TGUniversalFunc.onSetInterstitialListener_onShowSuccess?.Invoke();
 | ||
|     }
 | ||
| 
 | ||
|     public void TGInterstitialAdsShowFail(string obj)
 | ||
|     {
 | ||
|         TGUniversalFunc.onSetInterstitialListener_onShowFailed?.Invoke();
 | ||
|     }
 | ||
| 
 | ||
|     public void TGInterstitialAdClose(string obj)
 | ||
|     {
 | ||
|         TGUniversalFunc.onSetInterstitialListener_onAdClosed?.Invoke();
 | ||
|     }
 | ||
| 
 | ||
|     public void TGInterstitialAdClick(string obj)
 | ||
|     {
 | ||
| 
 | ||
|         TGUniversalFunc.onSetInterstitialListener_onClick?.Invoke();
 | ||
|     }
 | ||
| 
 | ||
|     public void TGInterstitialAdsEndPlaying(string obj)
 | ||
|     {
 | ||
|         TGUniversalFunc.onSetInterstitialListener_onEndPlaying?.Invoke();
 | ||
|     }
 | ||
| 
 | ||
|     public void TGInterstitialAdFailedToPlay(string obj)
 | ||
|     {
 | ||
|         TGUniversalFunc.onSetInterstitialListener_onFailedToPlay?.Invoke();
 | ||
|     }
 | ||
| 
 | ||
|     public void TGInterstitialAdsStartPlayVideo(string obj)
 | ||
|     {
 | ||
|         TGUniversalFunc.onSetInterstitialListener_onStartPlayVideo?.Invoke();
 | ||
|     }
 | ||
| 
 | ||
| #endregion
 | ||
| 
 | ||
| #region videoCallback
 | ||
|     public void TGVideoAdLoaded(string obj)
 | ||
|     {
 | ||
|         TGUniversalFunc.onSetRewardListener_onRewardedVideoAdLoaded?.Invoke();
 | ||
|     }
 | ||
| 
 | ||
|     public void TGVideoAdLoadFail(string obj)
 | ||
|     {
 | ||
|         TGUniversalFunc.onSetRewardListener_onRewardedVideoAdFailedToLoad?.Invoke();
 | ||
|     }
 | ||
| 
 | ||
|     public void TGVideoAdPlayStart(string obj)
 | ||
|     {
 | ||
|         TGUniversalFunc.onSetRewardListener_onRewardedVideoStarted?.Invoke();
 | ||
|     }
 | ||
| 
 | ||
|     public void TGVideoAdPlayEnd(string obj)
 | ||
|     {
 | ||
|         TGUniversalFunc.onSetRewardListener_onRewardedVideoAdEnd?.Invoke();
 | ||
|     }
 | ||
| 
 | ||
|     public void TGVideoAdPlayFail(string obj)
 | ||
|     {
 | ||
|         TGUniversalFunc.onSetRewardListener_onRewardedVideoAdPlayFail?.Invoke();
 | ||
|     }
 | ||
| 
 | ||
|     public void TGVideoAdPlayClosed(string isRewardStr)
 | ||
|     {
 | ||
|         Debug.Log("Unity 激励视频 TGVideoAdPlayClosed " + isRewardStr);
 | ||
| 
 | ||
|         TGUniversalFunc.onSetRewardListener_onRewardedVideoAdClosed?.Invoke(isRewardStr);
 | ||
|     }
 | ||
| 
 | ||
|     public void TGVideoAdPlayClicked(string obj)
 | ||
|     {
 | ||
|         TGUniversalFunc.onSetRewardListener_onRewardedVideoClickAd?.Invoke();
 | ||
|     }
 | ||
| 
 | ||
|     public void TGVideoAdDidRewardedSuccess(string obj)
 | ||
|     {
 | ||
|         TGUniversalFunc.onSetRewardListener_onRewarded?.Invoke();
 | ||
| 
 | ||
|     }
 | ||
| #endregion
 | ||
| 
 | ||
| 
 | ||
| #region bannerCallback
 | ||
|     public void TGBannerAdLoad(string obj)
 | ||
|     {
 | ||
|         TGUniversalFunc.onSetBannerListener_onAdLoaded?.Invoke();
 | ||
|     }
 | ||
| 
 | ||
|     public void TGBannerAdLoadFail(string obj)
 | ||
|     {
 | ||
|         TGUniversalFunc.onSetBannerListener_onAdFailedToLoad?.Invoke();
 | ||
|     }
 | ||
| 
 | ||
|     public void TGBannerAdDidShow(string obj)
 | ||
|     {
 | ||
|         TGUniversalFunc.onSetBannerListener_onShowSuccess?.Invoke();
 | ||
|     }
 | ||
| 
 | ||
|     public void TGBannerAdDidClick(string obj)
 | ||
|     {
 | ||
|         TGUniversalFunc.onSetBannerListener_onClick?.Invoke();
 | ||
|     }
 | ||
| 
 | ||
|     public void TGBannerAdDidClickCloseButton(string obj)
 | ||
|     {
 | ||
|         TGUniversalFunc.onSetBannerListener_onAdClosed?.Invoke();
 | ||
|     }
 | ||
| #endregion
 | ||
| 
 | ||
| #region nativeCallback
 | ||
|     public void TGNativeAdLoadFail(string obj)
 | ||
|     {
 | ||
|         TGUniversalFunc.onSetNativeListener_onAdFailedToLoad?.Invoke();
 | ||
|     }
 | ||
| 
 | ||
|     public void TGNativeAdLoaded(string obj)
 | ||
|     {
 | ||
|         TGUniversalFunc.onSetNativeListener_onAdLoaded?.Invoke();
 | ||
|     }
 | ||
| 
 | ||
|     public void TGNativeAdDidShow(string obj)
 | ||
|     {
 | ||
|         TGUniversalFunc.onSetNativeListener_onShowSuccess?.Invoke();
 | ||
|     }
 | ||
| 
 | ||
|     public void TGNativeAdDidClick(string obj)
 | ||
|     {
 | ||
|         TGUniversalFunc.onSetNativeListener_onClick?.Invoke();
 | ||
|     }
 | ||
| #endregion
 | ||
| 
 | ||
| #region native banner
 | ||
| 
 | ||
|     public void TGNativeBannerAdLoad(string obj)
 | ||
|     {
 | ||
|         TGUniversalFunc.onSetNativeBannerListener_onAdLoaded?.Invoke();
 | ||
|     }
 | ||
| 
 | ||
|     public void TGNativeBannerAdLoadFail(string obj)
 | ||
|     {
 | ||
|         TGUniversalFunc.onSetNativeBannerListener_onAdLoadFail?.Invoke();
 | ||
|     }
 | ||
| 
 | ||
| 
 | ||
| #endregion
 | ||
| #endif
 | ||
| 
 | ||
| 
 | ||
| #if ANDROID_CN
 | ||
| 
 | ||
|     private void ToukaAndroidCallbackInit()
 | ||
|     {
 | ||
|         if (bannerCallback == null)
 | ||
|         {
 | ||
|             bannerCallback = new BannerCallback();
 | ||
|             bannerCallback.adClient = this;
 | ||
|             ATBannerAd.Instance.setListener(bannerCallback);
 | ||
|         }
 | ||
| 
 | ||
|         if (ivListener == null)
 | ||
|         {
 | ||
|             ivListener = new InterstitalCallback();
 | ||
|             ivListener.adClient = this;
 | ||
|             ATInterstitialAd.Instance.setListener(ivListener);
 | ||
|         }
 | ||
| 
 | ||
|         if (rvListener == null)
 | ||
|         {
 | ||
|             ATCallbackListener rvListener = new ATCallbackListener();
 | ||
|             rvListener.adclient = this;
 | ||
|             ATRewardedVideo.Instance.setListener(rvListener);
 | ||
|         }
 | ||
|     }
 | ||
| 
 | ||
| 
 | ||
|     class BannerCallback : ATBannerAdListener
 | ||
|     {
 | ||
|         public TGAndroidAdManager adClient; 
 | ||
|         //广告自动刷新成功
 | ||
|         public void onAdAutoRefresh(string placementId, ATCallbackInfo callbackInfo)
 | ||
|         {
 | ||
|             Debug.Log("Developer callback onAdAutoRefresh :" + placementId);
 | ||
|         }
 | ||
|         //广告自动刷新失败
 | ||
|         public void onAdAutoRefreshFail(string placementId, string code, string message)
 | ||
|         {
 | ||
|             Debug.Log("Developer callback onAdAutoRefreshFail : " + placementId + "--code:" + code + "--msg:" + message);
 | ||
|         }
 | ||
|         //广告被点击
 | ||
|         public void onAdClick(string placementId, ATCallbackInfo callbackInfo)
 | ||
|         {
 | ||
|             Debug.Log("Developer callback onAdClick :" + placementId);
 | ||
|         }
 | ||
| 
 | ||
|         //v5.5.3之后不再执行该回调,转到onAdCloseButtonTapped方法回调
 | ||
|         public void onAdClose(string placementId)
 | ||
|         {
 | ||
|             Debug.Log("Developer callback onAdClose :" + placementId);
 | ||
|         }
 | ||
|         //广告展示成功
 | ||
|         public void onAdImpress(string placementId, ATCallbackInfo callbackInfo)
 | ||
|         {
 | ||
|             Debug.Log("Developer callback onAdImpress :" + placementId);
 | ||
|         }
 | ||
|         //广告加载成功
 | ||
|         public void onAdLoad(string placementId)
 | ||
|         {
 | ||
|             Debug.Log("Developer callback onAdLoad :" + placementId);
 | ||
|             TGUniversalFunc.onSetBannerListener_onAdLoaded?.Invoke();
 | ||
|         }
 | ||
|         //广告加载失败
 | ||
|         public void onAdLoadFail(string placementId, string code, string message)
 | ||
|         {
 | ||
|             Debug.Log("Developer callback onAdLoadFail : : " + placementId + "--code:" + code + "--msg:" + message);
 | ||
|             TGUniversalFunc.onSetBannerListener_onAdFailedToLoad?.Invoke();
 | ||
|         }
 | ||
|         //广告关闭按钮被点击
 | ||
|         public void onAdCloseButtonTapped(string placementId, ATCallbackInfo callbackInfo)
 | ||
|         {
 | ||
|             Debug.Log("Developer callback onAdCloseButtonTapped :" + placementId);
 | ||
|         }
 | ||
|     }
 | ||
| 
 | ||
| 
 | ||
|     class InterstitalCallback : ATInterstitialAdListener
 | ||
|     {
 | ||
|         public TGAndroidAdManager adClient;
 | ||
|         //广告被点击
 | ||
|         public void onInterstitialAdClick(string placementId, ATCallbackInfo callbackInfo)
 | ||
|         {
 | ||
| 
 | ||
|             Debug.Log("Developer callback onInterstitialAdClick :" + placementId);
 | ||
|         }
 | ||
|         //广告被关闭
 | ||
|         public void onInterstitialAdClose(string placementId, ATCallbackInfo callbackInfo)
 | ||
|         {
 | ||
|             TGUniversalFunc.onSetInterstitialListener_onAdClosed?.Invoke();
 | ||
|             Debug.Log("Developer callback onInterstitialAdClose :" + placementId);
 | ||
|         }
 | ||
|         //广告视频播放结束,部分广告平台有此回调
 | ||
|         public void onInterstitialAdEndPlayingVideo(string placementId, ATCallbackInfo callbackInfo)
 | ||
|         {
 | ||
|             Debug.Log("Developer callback onInterstitialAdEndPlayingVideo :" + placementId);
 | ||
|         }
 | ||
|         //广告视频播放失败,部分广告平台有此回调
 | ||
|         public void onInterstitialAdFailedToPlayVideo(string placementId, string code, string message)
 | ||
|         {
 | ||
|             Debug.Log("Developer callback onInterstitialAdFailedToPlayVideo :" + placementId + "--code:" + code + "--msg:" + message);
 | ||
|         }
 | ||
|         //广告加载成功
 | ||
|         public void onInterstitialAdLoad(string placementId)
 | ||
|         {
 | ||
|             Debug.Log("Developer callback onInterstitialAdLoad :" + placementId);
 | ||
|             TGUniversalFunc.onSetInterstitialListener_onAdLoaded?.Invoke();
 | ||
| 
 | ||
|         }
 | ||
|         //广告加载失败
 | ||
|         public void onInterstitialAdLoadFail(string placementId, string code, string message)
 | ||
|         {
 | ||
|             Debug.Log("Developer callback onInterstitialAdLoadFail :" + placementId + "--code:" + code + "--msg:" + message);
 | ||
|             TGUniversalFunc.onSetInterstitialListener_onAdLoaded?.Invoke();
 | ||
|         }
 | ||
|         //广告展示成功
 | ||
|         public void onInterstitialAdShow(string placementId, ATCallbackInfo callbackInfo)
 | ||
|         {
 | ||
|             Debug.Log("Developer callback onInterstitialAdShow :" + placementId);
 | ||
|             TGUniversalFunc.onSetInterstitialListener_onShowSuccess?.Invoke();
 | ||
|         }
 | ||
|         //广告视频开始播放,部分平台有此回调
 | ||
|         public void onInterstitialAdStartPlayingVideo(string placementId, ATCallbackInfo callbackInfo)
 | ||
|         {
 | ||
|             Debug.Log("Developer callback onInterstitialAdStartPlayingVideo :" + placementId);
 | ||
|         }
 | ||
|         //广告展示失败
 | ||
|         public void onInterstitialAdFailedToShow(string placementId)
 | ||
|         {
 | ||
|             Debug.Log("Developer callback onInterstitialAdFailedToShow :" + placementId);
 | ||
|             TGUniversalFunc.onSetInterstitialListener_onShowFailed?.Invoke();
 | ||
|         }
 | ||
|     }
 | ||
| 
 | ||
|     class ATCallbackListener : ATRewardedVideoListener
 | ||
|     {
 | ||
|         public TGAndroidAdManager adclient;
 | ||
|         //广告加载成功
 | ||
|         public void onRewardedVideoAdLoaded(string placementId)
 | ||
|         {
 | ||
|             Debug.Log("Developer onRewardedVideoAdLoaded------");
 | ||
|             TGUniversalFunc.onSetRewardListener_onRewardedVideoAdLoaded?.Invoke();
 | ||
| 
 | ||
|         }
 | ||
|         //广告加载失败
 | ||
|         public void onRewardedVideoAdLoadFail(string placementId, string code, string message)
 | ||
|         {
 | ||
|             Debug.Log("Developer onRewardedVideoAdLoadFail------:code" + code + "--message:" + message);
 | ||
|             TGUniversalFunc.onSetRewardListener_onRewardedVideoAdFailedToLoad?.Invoke();
 | ||
| 
 | ||
|         }
 | ||
|         //广告开始播放
 | ||
|         public void onRewardedVideoAdPlayStart(string placementId, ATCallbackInfo callbackInfo)
 | ||
|         {
 | ||
|             Debug.Log("Developer onRewardedVideoAdPlayStart------");
 | ||
|             TGUniversalFunc.onSetRewardListener_onRewardedVideoStarted?.Invoke();
 | ||
| 
 | ||
|         }
 | ||
|         //广告播放结束
 | ||
|         public void onRewardedVideoAdPlayEnd(string placementId, ATCallbackInfo callbackInfo)
 | ||
|         {
 | ||
|             Debug.Log("Developer onRewardedVideoAdPlayEnd------");
 | ||
|         }
 | ||
|         //广告播放失败
 | ||
|         public void onRewardedVideoAdPlayFail(string placementId, string code, string message)
 | ||
|         {
 | ||
|             Debug.Log("Developer onRewardedVideoAdPlayFail------code:" + code + "---message:" + message);
 | ||
|             TGUniversalFunc.onSetRewardListener_onRewardedVideoAdPlayFail?.Invoke();
 | ||
|         }
 | ||
|         //广告被关闭,其中isReward仅表示onRewardedVideoAdPlayClosed被回调时onReward()方法被回调了没有
 | ||
|         public void onRewardedVideoAdPlayClosed(string placementId, bool isReward, ATCallbackInfo callbackInfo)
 | ||
|         {
 | ||
|             Debug.Log("Developer onRewardedVideoAdPlayClosed------isReward:" + isReward);
 | ||
|             TGUniversalFunc.onSetRewardListener_onRewardedVideoAdClosed?.Invoke(isReward == true ? "True" : "False");
 | ||
| 
 | ||
|         }
 | ||
|         //广告被点击
 | ||
|         public void onRewardedVideoAdPlayClicked(string placementId, ATCallbackInfo callbackInfo)
 | ||
|         {
 | ||
|             Debug.Log("Developer onRewardVideoAdPlayClicked------");
 | ||
|         }
 | ||
|         //激励成功,开发者可在此回调中下发奖励,一般先于onRewardedVideoAdPlayClosed回调,服务器激励则不一定
 | ||
|         public void onReward(string placementId, ATCallbackInfo callbackInfo)
 | ||
|         {
 | ||
|             Debug.Log("Developer onReward------");
 | ||
|         }
 | ||
|     }
 | ||
| #else
 | ||
| #endif
 | ||
| 
 | ||
| #if ANDROID_GP
 | ||
| 
 | ||
|     //iv
 | ||
|     private void OnInterstitialLoadedEvent(string adUnitId, MaxSdkBase.AdInfo adInfo)
 | ||
|     {
 | ||
|         TGUniversalFunc.onSetInterstitialListener_onAdLoaded?.Invoke();
 | ||
|     }
 | ||
| 
 | ||
|     private void OnInterstitialLoadFailEvent(string adUnitId, MaxSdkBase.ErrorInfo errorInfo)
 | ||
|     {
 | ||
|         TGUniversalFunc.onSetInterstitialListener_onAdFailedToLoad?.Invoke();
 | ||
|     }
 | ||
| 
 | ||
|     private void OnInterstitialDisplayedEvent(string adUnitId, MaxSdkBase.AdInfo adInfo)
 | ||
|     {
 | ||
|         TGUniversalFunc.onSetInterstitialListener_onShowSuccess?.Invoke();
 | ||
|     }
 | ||
| 
 | ||
|     private void InterstitialFailedToDisplayEvent(string adUnitId, MaxSdkBase.ErrorInfo errorInfo, MaxSdkBase.AdInfo adInfo)
 | ||
|     {
 | ||
|         TGUniversalFunc.onSetInterstitialListener_onShowFailed?.Invoke();
 | ||
|         TGUniversalFunc.onSetInterstitialListener_onFailedToPlay?.Invoke();
 | ||
|     }
 | ||
| 
 | ||
|     private void OnInterstitialDismissedEvent(string adUnitId, MaxSdkBase.AdInfo adInfo)
 | ||
|     {
 | ||
| 
 | ||
|         TGUniversalFunc.onSetInterstitialListener_onAdClosed?.Invoke();
 | ||
|     }
 | ||
| 
 | ||
|     // video
 | ||
|     private void OnRewardedAdLoadedEvent(string adUnitId, MaxSdkBase.AdInfo adInfo)
 | ||
|     {
 | ||
|         TGUniversalFunc.onSetRewardListener_onRewardedVideoAdLoaded?.Invoke();
 | ||
|     }
 | ||
| 
 | ||
|     private void OnRewardedAdLoadFailEvent(string adUnitId, MaxSdkBase.ErrorInfo errorInfo)
 | ||
|     {
 | ||
|         TGUniversalFunc.onSetRewardListener_onRewardedVideoAdFailedToLoad?.Invoke();
 | ||
|     }
 | ||
| 
 | ||
|     private void OnRewardedAdFailedToDisplayEvent(string adUnitId, MaxSdkBase.ErrorInfo errorInfo, MaxSdkBase.AdInfo adinfo)
 | ||
|     {
 | ||
|         TGUniversalFunc.onSetRewardListener_onRewardedVideoAdPlayFail?.Invoke();
 | ||
|     }
 | ||
| 
 | ||
|     private void OnRewardedAdDisplayedEvent(string adUnitId, MaxSdkBase.AdInfo adInfo)
 | ||
|     {
 | ||
|         TGUniversalFunc.onSetRewardListener_onRewardedVideoStarted?.Invoke();
 | ||
|     }
 | ||
| 
 | ||
|     private void OnRewardedAdClickedEvent(string adUnitId, MaxSdkBase.AdInfo adInfo)
 | ||
|     {
 | ||
|         TGUniversalFunc.onSetRewardListener_onRewardedVideoClickAd?.Invoke();
 | ||
|     }
 | ||
| 
 | ||
|     private void OnRewardedAdDismissedEvent(string adUnitId, MaxSdkBase.AdInfo adInfo)
 | ||
|     {
 | ||
|         TGUniversalFunc.onSetRewardListener_onRewardedVideoAdClosed?.Invoke(isReward);
 | ||
|         isReward = "False";
 | ||
|     }
 | ||
| 
 | ||
|     private void OnRewardedAdReceivedRewardEvent(string adUnitId, MaxSdk.Reward reward, MaxSdkBase.AdInfo adInfo)
 | ||
|     {
 | ||
|         isReward = "True";
 | ||
|     }
 | ||
| 
 | ||
|     private void OnBannerLoadedEvent(string adUnitId, MaxSdkBase.AdInfo adInfo)
 | ||
|     {
 | ||
|         TGUniversalFunc.onSetBannerListener_onAdLoaded?.Invoke();
 | ||
|     }
 | ||
| 
 | ||
|     private void OnBannerLoadFailEvent(string adUnitId, MaxSdkBase.ErrorInfo errorInfo)
 | ||
|     {
 | ||
|         TGUniversalFunc.onSetBannerListener_onAdFailedToLoad?.Invoke();
 | ||
|     }
 | ||
|     
 | ||
| 
 | ||
| #endif
 | ||
| 
 | ||
| }
 |