#if UNITY_IPHONE || UNITY_IOS using UnityEngine; using System.Collections.Generic; using System.Runtime.InteropServices; using System; using System.Globalization; // public class iOSAgent : IronSourceIAgent // { // struct IOSWaterfallConfiguration // { // public double Floor; // public double Ceiling; // } // [DllImport("__Internal")] // private static extern void LPPSetWaterfallConfiguration(IOSWaterfallConfiguration configurationParams, AdFormat adFormat); // [DllImport("__Internal")] // private static extern void CFSetPluginData(string pluginType, string pluginVersion, string pluginFrameworkVersion); // [DllImport("__Internal")] // private static extern string CFGetAdvertiserId(); // [DllImport("__Internal")] // private static extern void CFValidateIntegration(); // [DllImport("__Internal")] // private static extern void CFShouldTrackNetworkState(bool track); // [DllImport("__Internal")] // private static extern bool CFSetDynamicUserId(string dynamicUserId); // [DllImport("__Internal")] // private static extern void CFSetAdaptersDebug(bool enabled); // [DllImport("__Internal")] // private static extern void CFSetMetaData(string key, string value); // [DllImport("__Internal")] // private static extern void CFSetMetaDataWithValues(string key, params string[] values); // [DllImport("__Internal")] // private static extern string CFGetConversionValue(); // [DllImport("__Internal")] // private static extern void CFSetManualLoadRewardedVideo(bool isOn); // [DllImport("__Internal")] // private static extern void CFSetNetworkData(string networkKey, string networkData); // delegate void ISUnityPauseGame(bool pause); // [DllImport("__Internal")] // private static extern void RegisterPauseGameFunction(bool pasue); // //******************* SDK Init *******************// // [DllImport("__Internal")] // private static extern void CFSetUserId(string userId); // [DllImport("__Internal")] // private static extern void CFInit(string appKey); // [DllImport("__Internal")] // private static extern void CFInitWithAdUnits(string appKey, params string[] adUnits); // [DllImport("__Internal")] // private static extern void CFInitISDemandOnly(string appKey, params string[] adUnits); // //******************* RewardedVideo API *******************// // [DllImport("__Internal")] // private static extern void CFLoadRewardedVideo(); // [DllImport("__Internal")] // private static extern void CFShowRewardedVideo(); // [DllImport("__Internal")] // private static extern void CFShowRewardedVideoWithPlacementName(string placementName); // [DllImport("__Internal")] // private static extern bool CFIsRewardedVideoAvailable(); // [DllImport("__Internal")] // private static extern bool CFIsRewardedVideoPlacementCapped(string placementName); // [DllImport("__Internal")] // private static extern string CFGetPlacementInfo(string placementName); // [DllImport("__Internal")] // private static extern void CFSetRewardedVideoServerParameters(string jsonString); // [DllImport("__Internal")] // private static extern void CFClearRewardedVideoServerParameters(); // //******************* RewardedVideo DemandOnly API *******************// // [DllImport("__Internal")] // private static extern void CFShowISDemandOnlyRewardedVideo(string instanceId); // [DllImport("__Internal")] // private static extern void CFLoadISDemandOnlyRewardedVideo(string instanceId); // [DllImport("__Internal")] // private static extern bool CFIsDemandOnlyRewardedVideoAvailable(string instanceId); // //******************* Interstitial API *******************// // [DllImport("__Internal")] // private static extern void CFLoadInterstitial(); // [DllImport("__Internal")] // private static extern void CFShowInterstitial(); // [DllImport("__Internal")] // private static extern void CFShowInterstitialWithPlacementName(string placementName); // [DllImport("__Internal")] // private static extern bool CFIsInterstitialReady(); // [DllImport("__Internal")] // private static extern bool CFIsInterstitialPlacementCapped(string placementName); // //******************* Interstitial DemandOnly API *******************// // [DllImport("__Internal")] // private static extern void CFLoadISDemandOnlyInterstitial(string instanceId); // [DllImport("__Internal")] // private static extern void CFShowISDemandOnlyInterstitial(string instanceId); // [DllImport("__Internal")] // private static extern bool CFIsDemandOnlyInterstitialReady(string instanceId); // //******************* Offerwall API *******************// // [DllImport("__Internal")] // private static extern void CFShowOfferwall(); // [DllImport("__Internal")] // private static extern void CFShowOfferwallWithPlacementName(string placementName); // [DllImport("__Internal")] // private static extern void CFGetOfferwallCredits(); // [DllImport("__Internal")] // private static extern bool CFIsOfferwallAvailable(); // //******************* Banner API *******************// // [DllImport("__Internal")] // private static extern void CFLoadBanner(string description, int width, int height, int position, string placementName, bool isAdaptive); // [DllImport("__Internal")] // private static extern void CFDestroyBanner(); // [DllImport("__Internal")] // private static extern void CFDisplayBanner(); // [DllImport("__Internal")] // private static extern void CFHideBanner(); // [DllImport("__Internal")] // private static extern bool CFIsBannerPlacementCapped(string placementName); // [DllImport("__Internal")] // private static extern void CFSetSegment(string json); // [DllImport("__Internal")] // private static extern void CFSetConsent(bool consent); // //******************* ConsentView API *******************// // [DllImport("__Internal")] // private static extern void CFLoadConsentViewWithType(string consentViewType); // [DllImport("__Internal")] // private static extern void CFShowConsentViewWithType(string consentViewType); // //******************* ILRD API *******************// // [DllImport("__Internal")] // private static extern void CFSetAdRevenueData(string dataSource, string impressionData); // //******************* TestSuite API *******************// // [DllImport("__Internal")] // private static extern void CFLaunchTestSuite(); // public iOSAgent() // { // } // #region IronSourceIAgent implementation // //******************* Base API *******************// // /// // /// Allows publishers to set configurations for a waterfall of a given ad type. // /// // /// The AdFormat for which to configure the waterfall. // /// The configuration for the given ad types waterfall. // public void SetWaterfallConfiguration(WaterfallConfiguration waterfallConfiguration, AdFormat adFormat) // { // var config = new IOSWaterfallConfiguration // { // Floor = waterfallConfiguration.Floor ?? 0.0, // Ceiling = waterfallConfiguration.Ceiling ?? 0.0 // }; // LPPSetWaterfallConfiguration(config, adFormat); // } // public void onApplicationPause(bool pause) // { // } // public string getAdvertiserId() // { // return CFGetAdvertiserId(); // } // public void validateIntegration() // { // CFValidateIntegration(); // } // public void shouldTrackNetworkState(bool track) // { // CFShouldTrackNetworkState(track); // } // public bool setDynamicUserId(string dynamicUserId) // { // return CFSetDynamicUserId(dynamicUserId); // } // public void setAdaptersDebug(bool enabled) // { // CFSetAdaptersDebug(enabled); // } // public void setMetaData(string key, params string[] values) // { // CFSetMetaDataWithValues(key, values); // } // public void setMetaData(string key, string value) // { // CFSetMetaData(key, value); // } // public int? getConversionValue() // { // CultureInfo invCulture = CultureInfo.InvariantCulture; // int parsedInt; // if (int.TryParse(string.Format(invCulture, "{0}", CFGetConversionValue()), NumberStyles.Any, invCulture, out parsedInt)) // { // return parsedInt; // } // return null; // } // public void setManualLoadRewardedVideo(bool isOn) // { // CFSetManualLoadRewardedVideo(isOn); // } // public void setNetworkData(string networkKey, string networkData) // { // CFSetNetworkData(networkKey, networkData); // } // [AOT.MonoPInvokeCallback(typeof(ISUnityPauseGame))] // public void SetPauseGame(bool pause) // { // RegisterPauseGameFunction(pause); // if (pause) // { // setMetaData("IS_PAUSE_GAME_FLAG", "true"); // } // else // { // setMetaData("IS_PAUSE_GAME_FLAG", "false"); // } // } // //******************* SDK Init *******************// // public void setUserId(string userId) // { // CFSetUserId(userId); // } // public void init(string appKey) // { // CFSetPluginData("Unity", IronSource.pluginVersion(), IronSource.unityVersion()); // Debug.Log("IntegrationHelper pluginVersion: " + IronSource.pluginVersion()); // CFInit(appKey); // } // public void init(string appKey, params string[] adUnits) // { // CFSetPluginData("Unity", IronSource.pluginVersion(), IronSource.unityVersion()); // Debug.Log("IntegrationHelper pluginVersion: " + IronSource.pluginVersion()); // CFInitWithAdUnits(appKey, adUnits); // } // public void initISDemandOnly(string appKey, params string[] adUnits) // { // CFSetPluginData("Unity", IronSource.pluginVersion(), IronSource.unityVersion()); // Debug.Log("IntegrationHelper pluginVersion: " + IronSource.pluginVersion()); // CFInitISDemandOnly(appKey, adUnits); // } // //******************* RewardedVideo API *******************// // public void loadRewardedVideo() // { // CFLoadRewardedVideo(); // } // public void showRewardedVideo() // { // CFShowRewardedVideo(); // } // public void showRewardedVideo(string placementName) // { // CFShowRewardedVideoWithPlacementName(placementName); // } // public bool isRewardedVideoAvailable() // { // return CFIsRewardedVideoAvailable(); // } // public bool isRewardedVideoPlacementCapped(string placementName) // { // return CFIsRewardedVideoPlacementCapped(placementName); // } // public IronSourcePlacement getPlacementInfo(string placementName) // { // IronSourcePlacement sp = null; // string spString = CFGetPlacementInfo(placementName); // if (spString != null) // { // Dictionary spDic = IronSourceJSON.Json.Deserialize(spString) as Dictionary; // string pName = spDic["placement_name"].ToString(); // string rewardName = spDic["reward_name"].ToString(); // int rewardAmount = Convert.ToInt32(spDic["reward_amount"].ToString()); // sp = new IronSourcePlacement(pName, rewardName, rewardAmount); // } // return sp; // } // public void setRewardedVideoServerParams(Dictionary parameters) // { // string json = IronSourceJSON.Json.Serialize(parameters); // CFSetRewardedVideoServerParameters(json); // } // public void clearRewardedVideoServerParams() // { // CFClearRewardedVideoServerParameters(); // } // //******************* RewardedVideo DemandOnly API *******************// // public void showISDemandOnlyRewardedVideo(string instanceId) // { // CFShowISDemandOnlyRewardedVideo(instanceId); // } // public void loadISDemandOnlyRewardedVideo(string instanceId) // { // CFLoadISDemandOnlyRewardedVideo(instanceId); // } // public bool isISDemandOnlyRewardedVideoAvailable(string instanceId) // { // return CFIsDemandOnlyRewardedVideoAvailable(instanceId); // } // //******************* Interstitial API *******************// // public void loadInterstitial() // { // CFLoadInterstitial(); // } // public void showInterstitial() // { // CFShowInterstitial(); // } // public void showInterstitial(string placementName) // { // CFShowInterstitialWithPlacementName(placementName); // } // public bool isInterstitialReady() // { // return CFIsInterstitialReady(); // } // public bool isInterstitialPlacementCapped(string placementName) // { // return CFIsInterstitialPlacementCapped(placementName); // } // //******************* Interstitial DemandOnly API *******************// // public void loadISDemandOnlyInterstitial(string instanceId) // { // CFLoadISDemandOnlyInterstitial(instanceId); // } // public void showISDemandOnlyInterstitial(string instanceId) // { // CFShowISDemandOnlyInterstitial(instanceId); // } // public bool isISDemandOnlyInterstitialReady(string instanceId) // { // return CFIsDemandOnlyInterstitialReady(instanceId); // } // //******************* Offerwall API *******************// // public void showOfferwall() // { // CFShowOfferwall(); // } // public void showOfferwall(string placementName) // { // CFShowOfferwallWithPlacementName(placementName); // } // public void getOfferwallCredits() // { // CFGetOfferwallCredits(); // } // public bool isOfferwallAvailable() // { // return CFIsOfferwallAvailable(); // } // //******************* Banner API *******************// // public void loadBanner(IronSourceBannerSize size, IronSourceBannerPosition position) // { // loadBanner(size, position, ""); // } // public void loadBanner(IronSourceBannerSize size, IronSourceBannerPosition position, string placementName) // { // CFLoadBanner(size.Description, (int)size.Width, (int)size.Height, (int)position, placementName, (bool)size.IsAdaptiveEnabled()); // } // public void destroyBanner() // { // CFDestroyBanner(); // } // public void displayBanner() // { // CFDisplayBanner(); // } // public void hideBanner() // { // CFHideBanner(); // } // public bool isBannerPlacementCapped(string placementName) // { // return CFIsBannerPlacementCapped(placementName); // } // public void setSegment(IronSourceSegment segment) // { // Dictionary dict = segment.getSegmentAsDict(); // string json = IronSourceJSON.Json.Serialize(dict); // CFSetSegment(json); // } // public void setConsent(bool consent) // { // CFSetConsent(consent); // } // public void loadConsentViewWithType(string consentViewType) // { // CFLoadConsentViewWithType(consentViewType); // } // public void showConsentViewWithType(string consentViewType) // { // CFShowConsentViewWithType(consentViewType); // } // //******************* ILRD API *******************// // public void setAdRevenueData(string dataSource, Dictionary impressionData) // { // string json = IronSourceJSON.Json.Serialize(impressionData); // CFSetAdRevenueData(dataSource, json); // } // //******************* TestSuite API *******************// // public void launchTestSuite() // { // Debug.Log("iOSAgent: launching TestSuite"); // CFLaunchTestSuite(); // } // #endregion // } #endif