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);
}
}
}
}