44 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			C#
		
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			C#
		
	
	
using System;
 | 
						|
using UnityEngine;
 | 
						|
 | 
						|
namespace AmazonAds.Android {
 | 
						|
    public class DTBCallback : AndroidJavaProxy {
 | 
						|
        public enum ErrorCode { NO_ERROR, NETWORK_ERROR, NETWORK_TIMEOUT, NO_FILL, INTERNAL_ERROR, REQUEST_ERROR }
 | 
						|
 | 
						|
        public DTBCallback () : base ("com.amazon.device.ads.DTBAdCallback") { }
 | 
						|
 | 
						|
        public Amazon.OnSuccessDelegate onSuccessCallback;
 | 
						|
        public Amazon.OnFailureDelegate onFailureCallback;
 | 
						|
        public Amazon.OnFailureWithErrorDelegate onFailureWithErrorCallback;
 | 
						|
 | 
						|
        private void onSuccess (AndroidJavaObject paramDTBAdResponse) {
 | 
						|
            AndroidAdResponse response = new AndroidAdResponse (paramDTBAdResponse);
 | 
						|
            if (paramDTBAdResponse != null) {
 | 
						|
                AndroidJavaObject refreshRequest = paramDTBAdResponse.Call<AndroidJavaObject> ("getAdLoader");
 | 
						|
                AdRequest refreshLoader = new AdRequest(new Android.DTBAdRequest(refreshRequest));
 | 
						|
                response.SetAdLoader(refreshLoader);
 | 
						|
            }
 | 
						|
            onSuccessCallback (response);
 | 
						|
        }
 | 
						|
 | 
						|
        private void onFailure (AndroidJavaObject paramAdError) {
 | 
						|
            AndroidJavaObject codeObj = paramAdError.Call<AndroidJavaObject> ("getCode");
 | 
						|
            int codeInt = codeObj.Call<int> ("ordinal");
 | 
						|
            ErrorCode code = (ErrorCode) codeInt;
 | 
						|
            string message = paramAdError.Call<String> ("getMessage");
 | 
						|
 | 
						|
            if (onFailureCallback != null) {
 | 
						|
                onFailureCallback (code + ":" + message);
 | 
						|
            } 
 | 
						|
            
 | 
						|
            if (onFailureWithErrorCallback != null) {
 | 
						|
                AdError adError = new AdError(codeInt, message);
 | 
						|
                AndroidJavaObject refreshRequest = paramAdError.Call<AndroidJavaObject> ("getAdLoader");
 | 
						|
                AdRequest refreshLoader = new AdRequest(new Android.DTBAdRequest(refreshRequest));
 | 
						|
                adError.SetAdLoader(refreshLoader);
 | 
						|
                adError.SetAdError(paramAdError);
 | 
						|
                onFailureWithErrorCallback(adError);
 | 
						|
            }
 | 
						|
        }
 | 
						|
    }
 | 
						|
} |