#if UNITY_ANDROID using System; using UnityEngine; public class IronSourceBannerLevelPlayAndroid : AndroidJavaProxy, IUnityLevelPlayBanner { public event Action OnAdLoaded = delegate { }; public event Action OnAdLeftApplication = delegate { }; public event Action OnAdScreenDismissed = delegate { }; public event Action OnAdScreenPresented = delegate { }; public event Action OnAdClicked = delegate { }; public event Action OnAdLoadFailed = delegate { }; //implements UnityLevelPlayBannerListener java interface and implement banner callbacks public IronSourceBannerLevelPlayAndroid() : base(IronSourceConstants.LevelPlaybannerBridgeListenerClass) { try { using (var pluginClass = new AndroidJavaClass(IronSourceConstants.bridgeClass)) { var bridgeInstance = pluginClass.CallStatic("getInstance"); bridgeInstance.Call("setUnityBannerLevelPlayListener", this); } } catch(Exception e) { Debug.LogError("setUnityBannerLevelPlayListener method doesn't exist, error: " + e.Message); } } void onAdLoaded(String data) { if (OnAdLoaded != null) { IronSourceAdInfo adInfo = new IronSourceAdInfo(data); OnAdLoaded(adInfo); } } void onAdLoadFailed(String args) { if (OnAdLoadFailed != null) { IronSourceError error = IronSourceUtils.getErrorFromErrorObject(args); OnAdLoadFailed(error); } } void onAdClicked(String data) { if (OnAdClicked != null) { IronSourceAdInfo adInfo = new IronSourceAdInfo(data); OnAdClicked(adInfo); } } void onAdScreenPresented(String data) { if (OnAdScreenPresented != null) { IronSourceAdInfo adInfo = new IronSourceAdInfo(data); OnAdScreenPresented(adInfo); } } void onAdScreenDismissed(String data) { if (OnAdScreenDismissed != null) { IronSourceAdInfo adInfo = new IronSourceAdInfo(data); OnAdScreenDismissed(adInfo); } } void onAdLeftApplication(String data) { if (OnAdLeftApplication != null) { IronSourceAdInfo adInfo = new IronSourceAdInfo(data); OnAdLeftApplication(adInfo); } } } #endif