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