161 lines
		
	
	
		
			6.6 KiB
		
	
	
	
		
			C#
		
	
	
		
		
			
		
	
	
			161 lines
		
	
	
		
			6.6 KiB
		
	
	
	
		
			C#
		
	
	
| 
								 | 
							
								using System;
							 | 
						|||
| 
								 | 
							
								using System.Collections.Generic;
							 | 
						|||
| 
								 | 
							
								using UnityEngine;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								namespace AmazonAds.Android {
							 | 
						|||
| 
								 | 
							
								    public class AdRegistration {
							 | 
						|||
| 
								 | 
							
								        private static readonly AndroidJavaClass adRegistrationClass = new AndroidJavaClass ("com.amazon.device.ads.AdRegistration");
							 | 
						|||
| 
								 | 
							
								        private AndroidJavaObject adRegistration = null;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        public void AddProvider (AndroidJavaObject provider) { // AdProvider params
							 | 
						|||
| 
								 | 
							
								            adRegistration.CallStatic ("AddProvider", provider);
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        public AndroidJavaObject GetEventDistributer () { // return EventDistributor
							 | 
						|||
| 
								 | 
							
								            return adRegistration.CallStatic<AndroidJavaObject> ("getEventDistributer");
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        public HashSet<AndroidJavaObject> GtAdProviders () { // return AdProvider
							 | 
						|||
| 
								 | 
							
								            return adRegistration.CallStatic<HashSet<AndroidJavaObject>> ("getProprietaryProviderKeys");
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        public List<String> GetProprietaryProviderKeys () {
							 | 
						|||
| 
								 | 
							
								            return adRegistration.CallStatic<List<String>> ("getProprietaryProviderKeys");
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        public String GetAppKey () {
							 | 
						|||
| 
								 | 
							
								            return adRegistration.CallStatic<String> ("getAppKey");
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        public bool IsInitialized () {
							 | 
						|||
| 
								 | 
							
								            return adRegistration.CallStatic<bool> ("isInitialized");
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        public AndroidJavaObject GetInstance (String appKey) {
							 | 
						|||
| 
								 | 
							
								            AndroidJavaClass playerClass = new AndroidJavaClass (AmazonConstants.unityPlayerClass);
							 | 
						|||
| 
								 | 
							
								            AndroidJavaObject currentActivityObject = playerClass.GetStatic<AndroidJavaObject> ("currentActivity");
							 | 
						|||
| 
								 | 
							
								            object[] adRegParams = new object[2];
							 | 
						|||
| 
								 | 
							
								            adRegParams[0] = appKey;
							 | 
						|||
| 
								 | 
							
								            adRegParams[1] = currentActivityObject;
							 | 
						|||
| 
								 | 
							
								            adRegistration = adRegistrationClass.CallStatic<AndroidJavaObject>
							 | 
						|||
| 
								 | 
							
								                ("getInstance", adRegParams);
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            return adRegistration;
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        public void SetMRAIDPolicy (Amazon.MRAIDPolicy policy) {
							 | 
						|||
| 
								 | 
							
								            AndroidJavaClass mraidEnum = new AndroidJavaClass ("com.amazon.device.ads.MRAIDPolicy");
							 | 
						|||
| 
								 | 
							
								            AndroidJavaObject curMraid = mraidEnum.CallStatic<AndroidJavaObject> ("valueOf", policy.ToString ());
							 | 
						|||
| 
								 | 
							
								            adRegistration.CallStatic ("setMRAIDPolicy", curMraid);
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        public Amazon.MRAIDPolicy GetMRAIDPolicy () { // returns MRAIDPolicy
							 | 
						|||
| 
								 | 
							
								            AndroidJavaObject mraid = adRegistration.CallStatic<AndroidJavaObject> ("getMRAIDPolicy");
							 | 
						|||
| 
								 | 
							
								            int codeInt = mraid.Call<int> ("ordinal");
							 | 
						|||
| 
								 | 
							
								            Amazon.MRAIDPolicy code = (Amazon.MRAIDPolicy) codeInt;
							 | 
						|||
| 
								 | 
							
								            return code;
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        public void SetMRAIDSupportedVersions (String[] versions) {
							 | 
						|||
| 
								 | 
							
								            adRegistration.CallStatic ("setMRAIDSupportedVersions", versions);
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        public void EnableLogging (bool enable) {
							 | 
						|||
| 
								 | 
							
								            adRegistration.CallStatic ("enableLogging", enable);
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        public void EnableLogging (bool enable, AndroidJavaObject logLevel) { // DTBLogLevel logLevel
							 | 
						|||
| 
								 | 
							
								            adRegistration.CallStatic ("enableLogging", enable, logLevel);
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        public void EnableTesting (bool isTesting) {
							 | 
						|||
| 
								 | 
							
								            adRegistration.CallStatic ("enableTesting", isTesting);
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        public bool IsTestMode () {
							 | 
						|||
| 
								 | 
							
								            return adRegistration.CallStatic<bool> ("isTestMode");
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        public void UseGeoLocation (bool isLocationEnabled) {
							 | 
						|||
| 
								 | 
							
								            adRegistration.CallStatic ("useGeoLocation", isLocationEnabled);
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        public bool IsLocationEnabled () {
							 | 
						|||
| 
								 | 
							
								            return adRegistration.CallStatic<bool> ("іsLocationEnabled");
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        public String GetVersion () {
							 | 
						|||
| 
								 | 
							
								            return adRegistration.CallStatic<String> ("getVersion");
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        public void SetServerlessMarkers (String[] markers) {
							 | 
						|||
| 
								 | 
							
								            adRegistration.CallStatic ("setServerlessMarkers", markers);
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								        public void AddSlotGroup (SlotGroup sg) { // param SlotGroup sg
							 | 
						|||
| 
								 | 
							
								            adRegistration.CallStatic ("addSlotGroup", sg.dTBSlot);
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        public AndroidJavaObject GetSlotGroup (String name) { // return SlotGroup
							 | 
						|||
| 
								 | 
							
								            return adRegistration.CallStatic<AndroidJavaObject> ("getSlotGroup", name);
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        public bool IsConsentStatusUnknown () {
							 | 
						|||
| 
								 | 
							
								            return adRegistration.CallStatic<bool> ("isConsentStatusUnknown");
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        public void SetVendorList (List<int> vendorList) {
							 | 
						|||
| 
								 | 
							
								            adRegistration.CallStatic ("setVendorList", vendorList);
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        public void SetConsentStatus (Amazon.ConsentStatus consentStatus) {
							 | 
						|||
| 
								 | 
							
								            AndroidJavaClass consEnum = new AndroidJavaClass ("com.amazon.device.ads.AdRegistration$ConsentStatus");
							 | 
						|||
| 
								 | 
							
								            AndroidJavaObject curcons = consEnum.CallStatic<AndroidJavaObject> ("valueOf", consentStatus.ToString ());
							 | 
						|||
| 
								 | 
							
								            adRegistration.CallStatic ("setConsentStatus", curcons);
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        public void SetCMPFlavor (Amazon.CMPFlavor cFlavor) {
							 | 
						|||
| 
								 | 
							
								            AndroidJavaClass flavEnum = new AndroidJavaClass ("com.amazon.device.ads.AdRegistration$CMPFlavor");
							 | 
						|||
| 
								 | 
							
								            AndroidJavaObject curFlav = flavEnum.CallStatic<AndroidJavaObject> ("valueOf", cFlavor.ToString ());
							 | 
						|||
| 
								 | 
							
								            adRegistration.CallStatic ("setCMPFlavor", curFlav);
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        public void ResetNonIAB () {
							 | 
						|||
| 
								 | 
							
								            adRegistration.CallStatic ("resetNonIAB");
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        public class SlotGroup {
							 | 
						|||
| 
								 | 
							
								            private readonly AndroidJavaClass slotGroup = new AndroidJavaClass ("com.amazon.device.ads.AdRegistration$SlotGroup");
							 | 
						|||
| 
								 | 
							
								            public AndroidJavaObject dTBSlot = null;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            public SlotGroup () {
							 | 
						|||
| 
								 | 
							
								                dTBSlot = new AndroidJavaObject ("com.amazon.device.ads.AdRegistration$SlotGroup");
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            public SlotGroup (string name) {
							 | 
						|||
| 
								 | 
							
								                dTBSlot = new AndroidJavaObject ("com.amazon.device.ads.AdRegistration$SlotGroup", name);
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            public void AddSlot (IAdSize size) {
							 | 
						|||
| 
								 | 
							
								                dTBSlot.Call ("addSlot", ((DTBAdSize) size).GetInstance ());
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								        } 
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        public void AddCustomAttribute (string withKey, string value) {
							 | 
						|||
| 
								 | 
							
								            adRegistration.CallStatic ("addCustomAttribute", withKey, value);
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        public void RemoveCustomAttr (string forKey) {
							 | 
						|||
| 
								 | 
							
								            adRegistration.CallStatic ("removeCustomAttribute", forKey);
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        public void SetAdNetworkInfo (string adNetworkName) {
							 | 
						|||
| 
								 | 
							
								            AndroidJavaClass adNetworkEnum = new AndroidJavaClass (AmazonConstants.dtbAdNetworkClass);
							 | 
						|||
| 
								 | 
							
								            AndroidJavaObject adNetworkObj = adNetworkEnum.CallStatic<AndroidJavaObject> ("valueOf", adNetworkName);
							 | 
						|||
| 
								 | 
							
								            AndroidJavaObject dtbAdNetworkInfo = new AndroidJavaObject (AmazonConstants.dtbAdNetworkInfoClass, adNetworkObj);
							 | 
						|||
| 
								 | 
							
								            adRegistration.CallStatic ("setAdNetworkInfo", dtbAdNetworkInfo);
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								}
							 |