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