private static void interstitialClickCallback(IntPtr interstitialHandlePtr, string networkName)
        {
            GCHandle interstitialHandle = (GCHandle)interstitialHandlePtr;
            AMRInterstitialViewDelegate delegateObject = interstitialHandle.Target as AMRInterstitialViewDelegate;

            delegateObject.didClickInterstitial(networkName);
        }
 public void loadInterstitialForZoneId(string zoneId, AMRInterstitialViewDelegate delegateObject)
 {
     delegateObj = delegateObject;
     interstitial.Call("create", new object[1] {
         zoneId
     });
 }
        private static void interstitialShowCallback(IntPtr interstitialHandlePtr)
        {
            GCHandle interstitialHandle = (GCHandle)interstitialHandlePtr;
            AMRInterstitialViewDelegate delegateObject = interstitialHandle.Target as AMRInterstitialViewDelegate;

            delegateObject.didShowInterstitial();
        }
        private static void interstitialFailCallback(IntPtr interstitialHandlePtr, string error)
        {
            GCHandle interstitialHandle = (GCHandle)interstitialHandlePtr;
            AMRInterstitialViewDelegate delegateObject = interstitialHandle.Target as AMRInterstitialViewDelegate;

            delegateObject.didFailtoReceiveInterstitial(error);
        }
        private static void interstitialSuccessCallback(IntPtr interstitialHandlePtr, string networkName, double ecpm)
        {
            GCHandle interstitialHandle = (GCHandle)interstitialHandlePtr;
            AMRInterstitialViewDelegate delegateObject = interstitialHandle.Target as AMRInterstitialViewDelegate;

            delegateObject.didReceiveInterstitial(networkName, ecpm);
        }
        private static void interstitialFailToShowCallback(IntPtr interstitialHandlePtr, string errorCode)
        {
            GCHandle interstitialHandle = (GCHandle)interstitialHandlePtr;
            AMRInterstitialViewDelegate delegateObject = interstitialHandle.Target as AMRInterstitialViewDelegate;

            if (errorCode.Equals("1081"))
            {
                delegateObject.didFailtoShowInterstitial(errorCode);
            }
            else
            {
                delegateObject.didFailtoReceiveInterstitial(errorCode);
            }
        }
        public void loadInterstitialForZoneId(string zoneId, AMRInterstitialViewDelegate delegateObject)
        {
#if UNITY_IOS
            _setInterstitialSuccessCallback(interstitialSuccessCallback);
            _setInterstitialFailCallback(interstitialFailCallback);
            _setInterstitialShowCallback(interstitialShowCallback);
            _setInterstitialFailToShowCallback(interstitialFailToShowCallback);
            _setInterstitialClickCallback(interstitialClickCallback);
            _setInterstitialDismissCallback(interstitialDismissCallback);

            GCHandle handle    = GCHandle.Alloc(delegateObject);
            IntPtr   parameter = (IntPtr)handle;

            interstitialPtr = _loadInterstitialForZoneId(zoneId, parameter);
#endif
        }