using System.Runtime.InteropServices; using UnityEngine; using System.Collections; using System.Collections.Generic; public class IronSourceConfig { private const string unsupportedPlatformStr = "Unsupported Platform"; private static IronSourceConfig _instance; public static IronSourceConfig Instance { get { if (_instance == null) { _instance = new IronSourceConfig (); } return _instance; } } #if UNITY_ANDROID && !UNITY_EDITOR private static AndroidJavaObject _androidBridge; private readonly static string AndroidBridge = "com.ironsource.unity.androidbridge.AndroidBridge"; public IronSourceConfig () { using (var pluginClass = new AndroidJavaClass( AndroidBridge )) _androidBridge = pluginClass.CallStatic ("getInstance"); } //Setters public void setLanguage (string language) { _androidBridge.Call ("setLanguage", language); } public void setClientSideCallbacks (bool status) { _androidBridge.Call ("setClientSideCallbacks", status); } public void setRewardedVideoCustomParams (Dictionary rewardedVideoCustomParams) { string json = IronSourceJSON.Json.Serialize (rewardedVideoCustomParams); _androidBridge.Call ("setRewardedVideoCustomParams", json); } public void setOfferwallCustomParams (Dictionary offerwallCustomParams) { string json = IronSourceJSON.Json.Serialize (offerwallCustomParams); _androidBridge.Call ("setOfferwallCustomParams", json); } // #elif (UNITY_IPHONE || UNITY_IOS) && !UNITY_EDITOR // [DllImport("__Internal")] // private static extern void CFSetLanguage (string language); // [DllImport("__Internal")] // private static extern void CFSetClientSideCallbacks (bool useClientSideCallbacks); // [DllImport("__Internal")] // private static extern void CFSetRewardedVideoCustomParams (string rewardedVideoCustomParams); // [DllImport("__Internal")] // private static extern void CFSetOfferwallCustomParams (string offerwallCustomParams); // public void setLanguage (string language) // { // CFSetLanguage (language); // } // public void setClientSideCallbacks (bool status) // { // CFSetClientSideCallbacks (status); // } // public void setRewardedVideoCustomParams (Dictionary rewardedVideoCustomParams) // { // string json = IronSourceJSON.Json.Serialize (rewardedVideoCustomParams); // CFSetRewardedVideoCustomParams (json); // } // public void setOfferwallCustomParams (Dictionary offerwallCustomParams) // { // string json = IronSourceJSON.Json.Serialize (offerwallCustomParams); // CFSetOfferwallCustomParams (json); // } // public IronSourceConfig () // { // } #else public void setLanguage (string language) { Debug.Log (unsupportedPlatformStr); } public void setClientSideCallbacks (bool status) { Debug.Log (unsupportedPlatformStr); } public void setRewardedVideoCustomParams (Dictionary rewardedVideoCustomParams) { Debug.Log (unsupportedPlatformStr); } public void setOfferwallCustomParams (Dictionary offerwallCustomParams) { Debug.Log (unsupportedPlatformStr); } public IronSourceConfig () { Debug.Log (unsupportedPlatformStr); } #endif }