104 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			C#
		
	
	
		
		
			
		
	
	
			104 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			C#
		
	
	
| 
								 | 
							
								using System;
							 | 
						|||
| 
								 | 
							
								using System.Collections.Generic;
							 | 
						|||
| 
								 | 
							
								using UnityEngine;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								namespace AmazonAds.Android {
							 | 
						|||
| 
								 | 
							
								    public class AndroidAdResponse : AdResponse {
							 | 
						|||
| 
								 | 
							
								        private AndroidJavaObject response;
							 | 
						|||
| 
								 | 
							
								        private AdRequest adLoader;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        private static readonly AndroidJavaClass sdkUtilitiesClass = new AndroidJavaClass("com.amazon.device.ads.SDKUtilities");
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        public AndroidAdResponse( ) { }
							 | 
						|||
| 
								 | 
							
								        public AndroidAdResponse(AndroidJavaObject newResponse) {
							 | 
						|||
| 
								 | 
							
								            response = newResponse;
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        public override IntPtr GetInstance()
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            throw new NotImplementedException();
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        public override string GetBidInfo()
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            return sdkUtilitiesClass.CallStatic<string>("getBidInfo", response);
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        public override IntPtr GetIosResponseObject()
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            throw new NotImplementedException();
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        public override AndroidJavaObject GetAndroidResponseObject()
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            return response;
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        public override string GetPricePoint()
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            return sdkUtilitiesClass.CallStatic<string>("getPricePoint", response);
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        public override string GetMediationHints(bool isSmartBanner = false)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            throw new NotImplementedException();
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        public override int GetHeight()
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            return sdkUtilitiesClass.CallStatic<int>("getHeight", response);
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        public override int GetWidth()
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            return sdkUtilitiesClass.CallStatic<int>("getWidth", response);
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								#if UNITY_ANDROID
							 | 
						|||
| 
								 | 
							
								        public override AndroidJavaObject GetResponse()
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            return response;
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								#else
							 | 
						|||
| 
								 | 
							
								        public override IntPtr GetResponse()
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            throw new NotImplementedException();
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								#endif
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        public override String GetMoPubKeywords () {
							 | 
						|||
| 
								 | 
							
								            return response.Call<String> ("getMoPubKeywords");
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								        
							 | 
						|||
| 
								 | 
							
								        public override Dictionary<String, String> GetRendering (bool isSmartBanner = false, string fetchLabel = null) {
							 | 
						|||
| 
								 | 
							
								            Dictionary<String, String> map = new Dictionary<String, String> ();
							 | 
						|||
| 
								 | 
							
								            if( response != null){
							 | 
						|||
| 
								 | 
							
								                AndroidJavaObject bundle = response.Call<AndroidJavaObject> ("getRenderingBundle", isSmartBanner, fetchLabel);
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                map.Add ("bid_html_template", bundle.Call<String> ("getString", "bid_html_template"));
							 | 
						|||
| 
								 | 
							
								                map.Add ("event_server_parameter", bundle.Call<String> ("getString", "event_server_parameter"));
							 | 
						|||
| 
								 | 
							
								                map.Add ("amazon_ad_info", bundle.Call<String> ("getString", "amazon_ad_info"));
							 | 
						|||
| 
								 | 
							
								                map.Add ("bid_identifier", bundle.Call<String> ("getString", "bid_identifier"));
							 | 
						|||
| 
								 | 
							
								                map.Add ("hostname_identifier", bundle.Call<String> ("getString", "hostname_identifier"));
							 | 
						|||
| 
								 | 
							
								                map.Add ("start_load_time", bundle.Call<long> ("getLong", "start_load_time").ToString ());
							 | 
						|||
| 
								 | 
							
								                if (isSmartBanner) {
							 | 
						|||
| 
								 | 
							
								                    map.Add ("expected_width", bundle.Call<int> ("getInt", "expected_width").ToString ());
							 | 
						|||
| 
								 | 
							
								                    map.Add ("expected_height", bundle.Call<int> ("getInt", "expected_height").ToString ());
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								                if (bundle.Call<bool> ("containsKey", "amazon_request_queue"))
							 | 
						|||
| 
								 | 
							
								                    map.Add ("amazon_request_queue", bundle.Call<String> ("getString", "amazon_request_queue"));
							 | 
						|||
| 
								 | 
							
								            } else {
							 | 
						|||
| 
								 | 
							
								                map.Add("isAutoRefresh","1");
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								            return map;
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        public override AdRequest GetAdLoader() {
							 | 
						|||
| 
								 | 
							
								            return adLoader;
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        internal override void SetAdLoader(AdRequest adRequest) {
							 | 
						|||
| 
								 | 
							
								            adLoader = adRequest;
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								}
							 |