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 ATInterstitialAdClient : IATInterstitialAdClient { private ATInterstitialAdListener anyThinkListener; public event EventHandler onAdLoadEvent; public event EventHandler onAdLoadFailureEvent; public event EventHandler onAdShowEvent; public event EventHandler onAdShowFailureEvent; public event EventHandler onAdCloseEvent; public event EventHandler onAdClickEvent; public event EventHandler onAdVideoStartEvent; public event EventHandler onAdVideoFailureEvent; public event EventHandler onAdVideoEndEvent; public event EventHandler onAdSourceAttemptEvent; public event EventHandler onAdSourceFilledEvent; public event EventHandler onAdSourceLoadFailureEvent; public event EventHandler onAdSourceBiddingAttemptEvent; public event EventHandler onAdSourceBiddingFilledEvent; public event EventHandler onAdSourceBiddingFailureEvent; public void addsetting(string placementId,string json){ //todo... } public void setListener(ATInterstitialAdListener listener) { Debug.Log("Unity: ATInterstitialAdClient::setListener()"); anyThinkListener = listener; } public void loadInterstitialAd(string placementId, string mapJson) { Debug.Log("Unity: ATInterstitialAdClient::loadInterstitialAd()"); ATInterstitialAdWrapper.setClientForPlacementID(placementId, this); ATInterstitialAdWrapper.loadInterstitialAd(placementId, mapJson); } public bool hasInterstitialAdReady(string placementId) { Debug.Log("Unity: ATInterstitialAdClient::hasInterstitialAdReady()"); return ATInterstitialAdWrapper.hasInterstitialAdReady(placementId); } public void showInterstitialAd(string placementId, string mapJson) { Debug.Log("Unity: ATInterstitialAdClient::showInterstitialAd()"); ATInterstitialAdWrapper.showInterstitialAd(placementId, mapJson); } public void cleanCache(string placementId) { Debug.Log("Unity: ATInterstitialAdClient::cleanCache()"); ATInterstitialAdWrapper.clearCache(placementId); } public string checkAdStatus(string placementId) { Debug.Log("Unity: ATInterstitialAdClient::checkAdStatus()"); return ATInterstitialAdWrapper.checkAdStatus(placementId); } public string getValidAdCaches(string placementId) { Debug.Log("Unity: ATInterstitialAdClient::getValidAdCaches()"); return ATInterstitialAdWrapper.getValidAdCaches(placementId); } public void entryScenarioWithPlacementID(string placementId, string scenarioID){ Debug.Log("Unity: ATInterstitialAdClient::entryScenarioWithPlacementID()"); ATInterstitialAdWrapper.entryScenarioWithPlacementID(placementId,scenarioID); } //Callbacks public void OnInterstitialAdLoaded(string placementID) { Debug.Log("onInterstitialAdLoaded...unity3d."); onAdLoadEvent?.Invoke(this, new ATAdEventArgs(placementID)); } public void OnInterstitialAdLoadFailure(string placementID, string code, string error) { Debug.Log("onInterstitialAdFailed...unity3d."); onAdLoadFailureEvent?.Invoke(this, new ATAdErrorEventArgs(placementID, code, error)); } public void OnInterstitialAdVideoPlayFailure(string placementID, string code, string error) { Debug.Log("Unity: ATInterstitialAdClient::OnInterstitialAdVideoPlayFailure()"); onAdVideoFailureEvent?.Invoke(this, new ATAdErrorEventArgs(placementID, code, error)); } public void OnInterstitialAdVideoPlayStart(string placementID, string callbackJson) { Debug.Log("Unity: ATInterstitialAdClient::OnInterstitialAdPlayStart()"); onAdVideoStartEvent?.Invoke(this, new ATAdEventArgs(placementID, callbackJson)); } public void OnInterstitialAdVideoPlayEnd(string placementID, string callbackJson) { Debug.Log("Unity: ATInterstitialAdClient::OnInterstitialAdVideoPlayEnd()"); onAdVideoEndEvent?.Invoke(this, new ATAdEventArgs(placementID, callbackJson)); } public void OnInterstitialAdShow(string placementID, string callbackJson) { Debug.Log("Unity: ATInterstitialAdClient::OnInterstitialAdShow()"); onAdShowEvent?.Invoke(this, new ATAdEventArgs(placementID, callbackJson)); } public void OnInterstitialAdFailedToShow(string placementID) { Debug.Log("Unity: ATInterstitialAdClient::OnInterstitialAdFailedToShow()"); onAdShowFailureEvent?.Invoke(this, new ATAdErrorEventArgs(placementID, "-1", "Failed to show video ad")); } public void OnInterstitialAdClick(string placementID, string callbackJson) { Debug.Log("Unity: ATInterstitialAdClient::OnInterstitialAdClick()"); onAdClickEvent?.Invoke(this, new ATAdEventArgs(placementID, callbackJson)); } public void OnInterstitialAdClose(string placementID, string callbackJson) { Debug.Log("Unity: ATInterstitialAdClient::OnInterstitialAdClose()"); onAdCloseEvent?.Invoke(this, new ATAdEventArgs(placementID, callbackJson)); } //auto callbacks public void startLoadingADSource(string placementId, string callbackJson) { Debug.Log("Unity: ATInterstitialAdClient::startLoadingADSource()"); onAdSourceAttemptEvent?.Invoke(this, new ATAdEventArgs(placementId, callbackJson)); } public void finishLoadingADSource(string placementId, string callbackJson) { Debug.Log("Unity: ATInterstitialAdClient::finishLoadingADSource()"); onAdSourceFilledEvent?.Invoke(this, new ATAdEventArgs(placementId, callbackJson)); } public void failToLoadADSource(string placementId, string callbackJson,string code, string error) { Debug.Log("Unity: ATInterstitialAdClient::failToLoadADSource()"); onAdSourceLoadFailureEvent?.Invoke(this, new ATAdErrorEventArgs(placementId, callbackJson, code, error)); } public void startBiddingADSource(string placementId, string callbackJson) { Debug.Log("Unity: ATInterstitialAdClient::startBiddingADSource()"); onAdSourceBiddingAttemptEvent?.Invoke(this, new ATAdEventArgs(placementId, callbackJson)); } public void finishBiddingADSource(string placementId, string callbackJson) { Debug.Log("Unity: ATInterstitialAdClient::finishBiddingADSource()"); onAdSourceBiddingFilledEvent?.Invoke(this, new ATAdEventArgs(placementId, callbackJson)); } public void failBiddingADSource(string placementId,string callbackJson, string code, string error) { Debug.Log("Unity: ATInterstitialAdClient::failBiddingADSource()"); onAdSourceBiddingFailureEvent?.Invoke(this, new ATAdErrorEventArgs(placementId, callbackJson, code, error)); } // Auto public void addAutoLoadAdPlacementID(string[] placementIDList) { Debug.Log("Unity: ATInterstitialAdClient:addAutoLoadAdPlacementID()"); if (placementIDList != null && placementIDList.Length > 0) { foreach (string placementID in placementIDList) { ATInterstitialAdWrapper.setClientForPlacementID(placementID, this); } string placementIDListString = JsonMapper.ToJson(placementIDList); ATInterstitialAdWrapper.addAutoLoadAdPlacementID(placementIDListString); Debug.Log("addAutoLoadAdPlacementID, placementIDList === " + placementIDListString); } else { Debug.Log("addAutoLoadAdPlacementID, placementIDList = null"); } } public void removeAutoLoadAdPlacementID(string placementId) { Debug.Log("Unity: ATInterstitialAdClient:removeAutoLoadAdPlacementID()"); ATInterstitialAdWrapper.removeAutoLoadAdPlacementID(placementId); } public bool autoLoadInterstitialAdReadyForPlacementID(string placementId) { Debug.Log("Unity: ATInterstitialAdClient:autoLoadInterstitialAdReadyForPlacementID()"); return ATInterstitialAdWrapper.autoLoadInterstitialAdReadyForPlacementID(placementId); } public string getAutoValidAdCaches(string placementId) { Debug.Log("Unity: ATInterstitialAdClient:getAutoValidAdCaches()"); return ATInterstitialAdWrapper.getAutoValidAdCaches(placementId); } public string checkAutoAdStatus(string placementId) { Debug.Log("Unity: ATInterstitialAdClient::checkAutoAdStatus()"); return ATInterstitialAdWrapper.checkAutoAdStatus(placementId); } public void setAutoLocalExtra(string placementId, string mapJson) { Debug.Log("Unity: ATInterstitialAdClient:setAutoLocalExtra()"); ATInterstitialAdWrapper.setAutoLocalExtra(placementId, mapJson); } public void entryAutoAdScenarioWithPlacementID(string placementId, string scenarioID) { Debug.Log("Unity: ATInterstitialAdClient:entryAutoAdScenarioWithPlacementID()"); ATInterstitialAdWrapper.entryAutoAdScenarioWithPlacementID(placementId, scenarioID); } public void showAutoAd(string placementId, string mapJson) { Debug.Log("Unity: ATInterstitialAdClient::showAutoAd()"); ATInterstitialAdWrapper.showAutoInterstitialAd(placementId, mapJson); } } }