using Chartboost.Constants; using Chartboost.Mediation.InMobi.Common; using UnityEngine; namespace Chartboost.Mediation.InMobi.Android { internal sealed class InMobiAdapter : IInMobiAdapter { private const string InMobiAdapterConfiguration = "com.chartboost.mediation.inmobiadapter.InMobiAdapterConfiguration"; private const string InMobiLogLevel = "com.inmobi.sdk.InMobiSdk$LogLevel"; private const string InMobiLogLevelDebug = "DEBUG"; private const string InMobiLogLevelError = "ERROR"; [RuntimeInitializeOnLoadMethod] private static void RegisterInstance() { if (Application.isEditor) return; InMobi.InMobiAdapter.Instance = new InMobiAdapter(); } /// public string AdapterNativeVersion { get { using var adapterConfiguration = new AndroidJavaObject(InMobiAdapterConfiguration); return adapterConfiguration.Call(SharedAndroidConstants.FunctionGetAdapterVersion); } } /// public string PartnerSDKVersion { get { using var adapterConfiguration = new AndroidJavaObject(InMobiAdapterConfiguration); return adapterConfiguration.Call(SharedAndroidConstants.FunctionGetPartnerSdkVersion); } } /// public string PartnerIdentifier { get { using var adapterConfiguration = new AndroidJavaObject(InMobiAdapterConfiguration); return adapterConfiguration.Call(SharedAndroidConstants.FunctionGetPartnerId); } } /// public string PartnerDisplayName { get { using var adapterConfiguration = new AndroidJavaObject(InMobiAdapterConfiguration); return adapterConfiguration.Call(SharedAndroidConstants.FunctionGetPartnerDisplayName); } } /// public bool VerboseLogging { get { using var adapterConfiguration = new AndroidJavaObject(InMobiAdapterConfiguration); using var logLevel = adapterConfiguration.Call(SharedAndroidConstants.FunctionGetLogLevel); return logLevel.ToString() switch { InMobiLogLevelDebug => true, _ => false }; } set { using var adapterConfiguration = new AndroidJavaObject(InMobiAdapterConfiguration); using var enumClass = new AndroidJavaClass(InMobiLogLevel); using var level = enumClass.GetStatic(value ? InMobiLogLevelDebug : InMobiLogLevelError); adapterConfiguration.Call(SharedAndroidConstants.FunctionSetLogLevel, level); } } } }