using System.Runtime.InteropServices;
using Chartboost.Constants;
using Chartboost.Mediation.InMobi.Common;
using UnityEngine;
namespace Chartboost.Mediation.InMobi.IOS
{
internal class InMobiAdapter : IInMobiAdapter
{
[RuntimeInitializeOnLoadMethod]
private static void RegisterInstance()
{
if (Application.isEditor)
return;
InMobi.InMobiAdapter.Instance = new InMobiAdapter();
}
///
public string AdapterNativeVersion => _CBMInMobiAdapterAdapterVersion();
///
public string PartnerSDKVersion => _CBMInMobiAdapterPartnerSDKVersion();
///
public string PartnerIdentifier => _CBMInMobiAdapterPartnerId();
///
public string PartnerDisplayName => _CBMInMobiAdapterPartnerDisplayName();
///
public bool VerboseLogging
{
get => _verboseLogging;
set
{
_CBMInMobiExchangeAdapterSetVerboseLogging(value);
_verboseLogging = value;
}
}
// TODO - iOS does not provide getters for properties, keeping track of it on Unity for the time being. NOT IDEAL.
private bool _verboseLogging;
[DllImport(SharedIOSConstants.DLLImport)] private static extern string _CBMInMobiAdapterAdapterVersion();
[DllImport(SharedIOSConstants.DLLImport)] private static extern string _CBMInMobiAdapterPartnerSDKVersion();
[DllImport(SharedIOSConstants.DLLImport)] private static extern string _CBMInMobiAdapterPartnerId();
[DllImport(SharedIOSConstants.DLLImport)] private static extern string _CBMInMobiAdapterPartnerDisplayName();
[DllImport(SharedIOSConstants.DLLImport)] private static extern void _CBMInMobiExchangeAdapterSetVerboseLogging(bool verboseLogging);
}
}