134 lines
4.4 KiB
C#
134 lines
4.4 KiB
C#
using System.Collections.Generic;
|
|
using AOT;
|
|
using UnityEngine;
|
|
using System.Runtime.InteropServices;
|
|
using System;
|
|
|
|
namespace AmazonAds.IOS {
|
|
public class IOSPlatform : PlatformApi {
|
|
|
|
public override void Initialization (string key) {
|
|
Externs._amazonInitialize (key);
|
|
}
|
|
|
|
public override bool IsInitialized () {
|
|
return Externs._amazonIsInitialized ();
|
|
}
|
|
|
|
public override bool IsTestMode () {
|
|
return Externs._amazonIsTestModeEnabled ();
|
|
}
|
|
|
|
public override void EnableTesting (bool flag) {
|
|
Externs._amazonSetTestMode (flag);
|
|
}
|
|
public override void EnableLogging (bool flag) {
|
|
Externs._amazonSetLogLevel (flag ? 1 : 0);
|
|
}
|
|
|
|
public override void UseGeoLocation (bool isLocationEnabled) {
|
|
Externs._amazonSetUseGeoLocation (isLocationEnabled);
|
|
}
|
|
|
|
public override bool IsLocationEnabled () {
|
|
return Externs._amazonGetUseGeoLocation ();
|
|
}
|
|
|
|
public override void SetMRAIDPolicy (Amazon.MRAIDPolicy policy) {
|
|
Externs._amazonSetMRAIDPolicy ((int) policy);
|
|
}
|
|
|
|
public override Amazon.MRAIDPolicy GetMRAIDPolicy () {
|
|
return (Amazon.MRAIDPolicy) Externs._amazonGetMRAIDPolicy ();
|
|
}
|
|
|
|
public override void SetMRAIDSupportedVersions (string[] versions) {
|
|
Externs._amazonSetMRAIDSupportedVersions (versions.ToString());
|
|
}
|
|
|
|
public override void AddSlotGroup(SlotGroup group)
|
|
{
|
|
DTBSlotGroup ptr = (DTBSlotGroup)group.GetInstance();
|
|
Externs._addSlotGroup(ptr.GetInstance());
|
|
}
|
|
|
|
[Obsolete("This API has been deprecated", false)]
|
|
public override void SetCMPFlavor(Amazon.CMPFlavor cFlavor)
|
|
{
|
|
int fla = 0;
|
|
switch (cFlavor)
|
|
{
|
|
case Amazon.CMPFlavor.CMP_NOT_DEFINED:
|
|
fla = -1;
|
|
break;
|
|
case Amazon.CMPFlavor.GOOGLE_CMP:
|
|
fla = 1;
|
|
break;
|
|
case Amazon.CMPFlavor.MOPUB_CMP:
|
|
fla = 2;
|
|
break;
|
|
}
|
|
Externs._setCMPFlavor(fla);
|
|
}
|
|
|
|
[Obsolete("APS no longer supports this API. For GDPR, we support TCFv2 strings. Implementation instructions can be found on the APS Portal under Resources > Privacy", false)]
|
|
public override void SetConsentStatus(Amazon.ConsentStatus consentStatus)
|
|
{
|
|
int cons = 0;
|
|
switch (consentStatus)
|
|
{
|
|
case Amazon.ConsentStatus.CONSENT_NOT_DEFINED:
|
|
cons = -1;
|
|
break;
|
|
case Amazon.ConsentStatus.EXPLICIT_YES:
|
|
cons = 7;
|
|
break;
|
|
case Amazon.ConsentStatus.EXPLICIT_NO:
|
|
cons = -0;
|
|
break;
|
|
case Amazon.ConsentStatus.UNKNOWN:
|
|
cons = 1;
|
|
break;
|
|
}
|
|
Externs._setConsentStatus(cons);
|
|
}
|
|
|
|
[Obsolete("APS no longer supports this API. For GDPR, we support TCFv2 strings. Implementation instructions can be found on the APS Portal under Resources > Privacy", false)]
|
|
public override void SetVendorList(List<int> vendorList)
|
|
{
|
|
IntPtr dictionary = Externs._createArray();
|
|
foreach (var item in vendorList)
|
|
{
|
|
Externs._addToArray(dictionary, item);
|
|
}
|
|
Externs._setVendorList(dictionary);
|
|
}
|
|
|
|
public override void AddCustomAttribute(string withKey, string value)
|
|
{
|
|
Externs._addCustomAttribute(withKey, value);
|
|
}
|
|
|
|
public override void RemoveCustomAttr(string forKey)
|
|
{
|
|
Externs._removeCustomAttribute(forKey);
|
|
}
|
|
|
|
public override void SetAdNetworkInfo(AdNetworkInfo adNetworkInfo)
|
|
{
|
|
DTBAdNetwork dtbAdNetwork = adNetworkInfo.getAdNetwork();
|
|
Externs._setAdNetworkInfo((int)dtbAdNetwork);
|
|
}
|
|
|
|
#if UNITY_IOS
|
|
public override void SetAPSPublisherExtendedIdFeatureEnabled(bool isEnabled)
|
|
{
|
|
Externs._setAPSPublisherExtendedIdFeatureEnabled(isEnabled);
|
|
}
|
|
|
|
public override void SetLocalExtras(string adUnitId, AmazonAds.AdResponse adResponse) {
|
|
Externs._setLocalExtras(adUnitId, Externs._getMediationHintsDict(adResponse.GetInstance(), false));
|
|
}
|
|
#endif
|
|
}
|
|
} |