Exemple #1
0
 protected override bool IsIAPEnabled()
 {
     if (Application.isMobilePlatform == false)
     {
         return(false);
     }
     return(IAPMsgSwitch.IAPIsEnabled());
 }
Exemple #2
0
 protected override void FinalizeIAPTransaction(string transactionID)
 {
     this.Info("FinalizeIAPTransaction():TransactionID::{0}", transactionID);
     if (Application.isMobilePlatform == false)
     {
         return;
     }
     IAPMsgSwitch.IAPFinalizeTransaction(transactionID);
 }
Exemple #3
0
 protected override void RestoreCompletedIAPTransactions()
 {
     this.Info("RestoreCompletedIAPTransactions()");
     if (Application.isMobilePlatform == false)
     {
         return;
     }
     IAPMsgSwitch.IAPRestoreTransactions();
 }
Exemple #4
0
 protected override void StopIAPProcessing()
 {
     this.Info("StopIAPProcessing()");
     if (Application.isMobilePlatform == false)
     {
         return;
     }
     _updatedProducts.Clear();
     IAPMsgSwitch.IAPStopProcessing();
 }
Exemple #5
0
 public override void BuyIAPWithProductID(string productId, Int32 quantity)
 {
     this.Info("BuyIAPWithProductID():ProductId::{0} Quantity::{1}", productId, quantity);
     if (Application.isMobilePlatform == false)
     {
         if (null != this.OnTransactionPurchased)
         {
             this.OnTransactionPurchased(productId, quantity, null, null);
         }
         return;
     }
     IAPMsgSwitch.IAPBuyWithProductID(productId, quantity);
 }
Exemple #6
0
 protected override void ValidateIAPProducts(string[] products)
 {
     this.Info("ValidateIAPProducts()");
     if (Application.isMobilePlatform == false)
     {
         if (null != this.OnProductsValidationCompleted)
         {
             this.OnProductsValidationCompleted(false, null);
         }
         return;
     }
     IAPMsgSwitch.IAPValidateProducts(products, (Int16)products.Length);
 }
Exemple #7
0
        /// <summary>
        /// 初始化IAP 实例.
        /// </summary>
        /// <returns><c>true</c>, OK, <c>false</c> NG.</returns>
        private bool initIAPInstance()
        {
#if UNITY_IOS || UNITY_IPHONE
            this._IAPInstance = new IAPiOS();
#elif UNITY_ANDROID
            this._IAPInstance = new IAPAndroid();
#endif
            if (null == this._IAPInstance)
            {
                return(false);
            }

            // 绑定委托事件
            // 产品验证
            this._IAPInstance.OnProductsValidationStarted   = null;
            this._IAPInstance.OnProductsValidationCompleted = this.OnIAPProductsValidationCompleted;
            this._IAPInstance.OnProductsValidationFailed    = this.OnIAPProductsValidationFailed;

            // 购买
            this._IAPInstance.OnTransactionPurchasing = this.OnTransactionPurchasing;
            this._IAPInstance.OnTransactionCanceled   = this.OnIAPTransactionCanceled;
            this._IAPInstance.OnTransactionDeferred   = null;

            // 购买或者补单
            this._IAPInstance.OnTransactionPurchased = this.OnIAPTransactionPurchased;

            // 购买恢复
            this._IAPInstance.OnRestoreCompleted    = null;
            this._IAPInstance.OnTransactionRestored = this.OnIAPTransactionRestored;
            this._IAPInstance.OnRestoreFinished     = null;

            // 错误
            this._IAPInstance.OnFailed = this.OnIAPFailed;

            // 切换当前IAP实例
            IAPMsgSwitch.SetIAPInstance(this._IAPInstance);

            return(true);
        }
Exemple #8
0
        /// <summary>
        /// 初始化IAP 实例.
        /// </summary>
        /// <returns><c>true</c>, OK, <c>false</c> NG.</returns>
        private bool initIAPInstance()
        {
            // 创建IAP实例
            this._IAPInstance = this.CreateInstance();
            if (null == this._IAPInstance)
            {
                return(false);
            }

            // 绑定委托事件
            // 产品验证
            this._IAPInstance.OnProductsValidationStarted   = null;
            this._IAPInstance.OnProductsValidationCompleted = this.OnIAPProductsValidationCompleted;
            this._IAPInstance.OnProductsValidationFailed    = this.OnIAPProductsValidationFailed;

            // 购买
            this._IAPInstance.OnTransactionPurchasing = this.OnTransactionPurchasing;
            this._IAPInstance.OnTransactionCanceled   = this.OnIAPTransactionCanceled;
            this._IAPInstance.OnTransactionDeferred   = null;

            // 购买或者补单
            this._IAPInstance.OnTransactionPurchased = this.OnIAPTransactionPurchased;

            // 购买恢复
            this._IAPInstance.OnRestoreCompleted    = null;
            this._IAPInstance.OnTransactionRestored = this.OnIAPTransactionRestored;
            this._IAPInstance.OnRestoreFinished     = null;

            // 错误
            this._IAPInstance.OnFailed = this.OnIAPFailed;

            // 切换当前IAP实例
            IAPMsgSwitch.SetIAPInstance(this._IAPInstance);

            return(true);
        }