using System.Runtime.InteropServices;
using Chartboost.Constants;
using Chartboost.Mediation.Pangle.Common;
using UnityEngine;
namespace Chartboost.Mediation.Pangle.IOS
{
internal sealed class PangleAdapter : IPangleAdapter
{
[RuntimeInitializeOnLoadMethod]
private static void RegisterInstance()
{
if (Application.isEditor)
return;
Pangle.PangleAdapter.Instance = new PangleAdapter();
}
///
public string AdapterNativeVersion => _CBMPangleAdapterAdapterVersion();
///
public string PartnerSDKVersion => _CBMPangleAdapterPartnerSDKVersion();
///
public string PartnerIdentifier => _CBMPangleAdapterPartnerId();
///
public string PartnerDisplayName => _CBMPangleAdapterPartnerDisplayName();
///
public void SetGDPRConsentOverride(PangleGDPRConsentType gdprConsent)
{
// Do nothing on iOS, deprecated.
}
///
public void SetPAConsentOverride(PanglePAConsentType paConsentType)
=> _CBMPangleAdapterSetPAConsentOverride((int)paConsentType);
public void SetDoNotSellOverride(PangleDoNotSellType doNotSellType)
{
// Do nothing on iOS, deprecated.
}
[DllImport(SharedIOSConstants.DLLImport)] private static extern string _CBMPangleAdapterAdapterVersion();
[DllImport(SharedIOSConstants.DLLImport)] private static extern string _CBMPangleAdapterPartnerSDKVersion();
[DllImport(SharedIOSConstants.DLLImport)] private static extern string _CBMPangleAdapterPartnerId();
[DllImport(SharedIOSConstants.DLLImport)] private static extern string _CBMPangleAdapterPartnerDisplayName();
[DllImport(SharedIOSConstants.DLLImport)] private static extern void _CBMPangleAdapterSetPAConsentOverride(int gdprConsent);
}
}