using UnityEngine; using System.Collections; using System.Collections.Generic; using System; public class IronSource : IronSourceIAgent { private IronSourceIAgent _platformAgent; private static IronSource _instance; public static string UNITY_PLUGIN_VERSION = "7.3.1.1-r"; private static bool isUnsupportedPlatform; private IronSource() { if (!isUnsupportedPlatform) { #if UNITY_EDITOR || UNITY_STANDALONE _platformAgent = new UnsupportedPlatformAgent(); #elif (UNITY_IPHONE || UNITY_IOS) _platformAgent = new iOSAgent(); #elif UNITY_ANDROID _platformAgent = new AndroidAgent (); #endif } else { _platformAgent = new UnsupportedPlatformAgent(); } var ironSourceType = typeof(IronSourceEvents); var ironSourceRewardedType = typeof(IronSourceRewardedVideoEvents); var ironSourceInterstitialType = typeof(IronSourceInterstitialEvents); var ironSourceBannerType = typeof(IronSourceBannerEvents); var ironSourceEvents = new GameObject("IronSourceEvents", ironSourceType).GetComponent(); // Creates IronSourceEvents gameObject var ironSourceRewardedVideoEvents = new GameObject("IronSourceRewardedVideoEvents", ironSourceRewardedType).GetComponent(); // Creates IronSourceRewardedVideoEvents gameObject var ironSourceInterstitialEvents = new GameObject("IronSourceInterstitialEvents", ironSourceInterstitialType).GetComponent(); // Creates IronSourceInterstitialEvents gameObject var ironSourceBannerEvents = new GameObject("IronSourceBannerEvents", ironSourceBannerType).GetComponent(); // Creates IronSourceBannerEvents gameObject } #region IronSourceIAgent implementation public static IronSource Agent { get { if (_instance == null) { _instance = new IronSource(); } return _instance; } } public static string pluginVersion() { return UNITY_PLUGIN_VERSION; } public static string unityVersion() { return Application.unityVersion; } public static void setUnsupportedPlatform() { isUnsupportedPlatform = true; } //******************* Base API *******************// /// /// Allows publishers to set configurations for a waterfall of a given ad type. /// /// The configuration for the given ad types waterfall. /// The AdFormat for which to configure the waterfall. public void SetWaterfallConfiguration(WaterfallConfiguration waterfallConfiguration, AdFormat adFormat) { _platformAgent.SetWaterfallConfiguration(waterfallConfiguration, adFormat); } public void onApplicationPause(bool pause) { _platformAgent.onApplicationPause(pause); } public string getAdvertiserId() { return _platformAgent.getAdvertiserId(); } public void validateIntegration() { _platformAgent.validateIntegration(); } public void shouldTrackNetworkState(bool track) { _platformAgent.shouldTrackNetworkState(track); } public bool setDynamicUserId(string dynamicUserId) { return _platformAgent.setDynamicUserId(dynamicUserId); } public void setAdaptersDebug(bool enabled) { _platformAgent.setAdaptersDebug(enabled); } public void setMetaData(string key, string value) { _platformAgent.setMetaData(key, value); } public void setMetaData(string key, params string[] values) { _platformAgent.setMetaData(key, values); } public int? getConversionValue() { return _platformAgent.getConversionValue(); } public void setManualLoadRewardedVideo(bool isOn) { _platformAgent.setManualLoadRewardedVideo(isOn); } public void setNetworkData(string networkKey, string networkData) { _platformAgent.setNetworkData(networkKey, networkData); } public void SetPauseGame(bool pause) { _platformAgent.SetPauseGame(pause); } //******************* SDK Init *******************// public void setUserId(string userId) { _platformAgent.setUserId(userId); } public void init(string appKey) { _platformAgent.init(appKey); } public void init(string appKey, params string[] adUnits) { _platformAgent.init(appKey, adUnits); } [Obsolete("This API has been deprecated as of SDK 7.3.0.1", false)] public void initISDemandOnly(string appKey, params string[] adUnits) { _platformAgent.initISDemandOnly(appKey, adUnits); } //******************* RewardedVideo API *******************// public void loadRewardedVideo() { _platformAgent.loadRewardedVideo(); } public void showRewardedVideo() { _platformAgent.showRewardedVideo(); } public void showRewardedVideo(string placementName) { _platformAgent.showRewardedVideo(placementName); } public IronSourcePlacement getPlacementInfo(string placementName) { return _platformAgent.getPlacementInfo(placementName); } public bool isRewardedVideoAvailable() { return _platformAgent.isRewardedVideoAvailable(); } public bool isRewardedVideoPlacementCapped(string placementName) { return _platformAgent.isRewardedVideoPlacementCapped(placementName); } public void setRewardedVideoServerParams(Dictionary parameters) { _platformAgent.setRewardedVideoServerParams(parameters); } public void clearRewardedVideoServerParams() { _platformAgent.clearRewardedVideoServerParams(); } //******************* RewardedVideo DemandOnly API *******************// [Obsolete("This API has been deprecated as of SDK 7.3.0.1", false)] public void showISDemandOnlyRewardedVideo(string instanceId) { _platformAgent.showISDemandOnlyRewardedVideo(instanceId); } [Obsolete("This API has been deprecated as of SDK 7.3.0.1", false)] public void loadISDemandOnlyRewardedVideo(string instanceId) { _platformAgent.loadISDemandOnlyRewardedVideo(instanceId); } [Obsolete("This API has been deprecated as of SDK 7.3.0.1", false)] public bool isISDemandOnlyRewardedVideoAvailable(string instanceId) { return _platformAgent.isISDemandOnlyRewardedVideoAvailable(instanceId); } //******************* Interstitial API *******************// public void loadInterstitial() { _platformAgent.loadInterstitial(); } public void showInterstitial() { _platformAgent.showInterstitial(); } public void showInterstitial(string placementName) { _platformAgent.showInterstitial(placementName); } public bool isInterstitialReady() { return _platformAgent.isInterstitialReady(); } public bool isInterstitialPlacementCapped(string placementName) { return _platformAgent.isInterstitialPlacementCapped(placementName); } //******************* Interstitial DemandOnly API *******************// [Obsolete("This API has been deprecated as of SDK 7.3.0.1", false)] public void loadISDemandOnlyInterstitial(string instanceId) { _platformAgent.loadISDemandOnlyInterstitial(instanceId); } [Obsolete("This API has been deprecated as of SDK 7.3.0.1", false)] public void showISDemandOnlyInterstitial(string instanceId) { _platformAgent.showISDemandOnlyInterstitial(instanceId); } [Obsolete("This API has been deprecated as of SDK 7.3.0.1", false)] public bool isISDemandOnlyInterstitialReady(string instanceId) { return _platformAgent.isISDemandOnlyInterstitialReady(instanceId); } //******************* Offerwall API *******************// [Obsolete("This API call is for the ironSource Offerwall, which will soon be deprecated. Please migrate to the Tapjoy Offerwall using the 'Offerwall migration checklist'.", false)] public void showOfferwall() { _platformAgent.showOfferwall(); } [Obsolete("This API call is for the ironSource Offerwall, which will soon be deprecated. Please migrate to the Tapjoy Offerwall using the 'Offerwall migration checklist'.", false)] public void showOfferwall(string placementName) { _platformAgent.showOfferwall(placementName); } [Obsolete("This API call is for the ironSource Offerwall, which will soon be deprecated. Please migrate to the Tapjoy Offerwall using the 'Offerwall migration checklist'.", false)] public void getOfferwallCredits() { _platformAgent.getOfferwallCredits(); } [Obsolete("This API call is for the ironSource Offerwall, which will soon be deprecated. Please migrate to the Tapjoy Offerwall using the 'Offerwall migration checklist'.", false)] public bool isOfferwallAvailable() { return _platformAgent.isOfferwallAvailable(); } //******************* Banner API *******************// public void loadBanner(IronSourceBannerSize size, IronSourceBannerPosition position) { _platformAgent.loadBanner(size, position); } public void loadBanner(IronSourceBannerSize size, IronSourceBannerPosition position, string placementName) { _platformAgent.loadBanner(size, position, placementName); } public void destroyBanner() { _platformAgent.destroyBanner(); } public void displayBanner() { _platformAgent.displayBanner(); } public void hideBanner() { _platformAgent.hideBanner(); } public bool isBannerPlacementCapped(string placementName) { return _platformAgent.isBannerPlacementCapped(placementName); } public void setSegment(IronSourceSegment segment) { _platformAgent.setSegment(segment); } public void setConsent(bool consent) { _platformAgent.setConsent(consent); } //******************* ConsentView API *******************// public void loadConsentViewWithType(string consentViewType) { _platformAgent.loadConsentViewWithType(consentViewType); } public void showConsentViewWithType(string consentViewType) { _platformAgent.showConsentViewWithType(consentViewType); } //******************* ILRD API *******************// public void setAdRevenueData(string dataSource, Dictionary impressionData) { _platformAgent.setAdRevenueData(dataSource, impressionData); } //******************* TestSuite API *******************// public void launchTestSuite() { _platformAgent.launchTestSuite(); } #endregion }