コード例 #1
0
        private void PurchaseProduct(SKProduct product, int quantity)
        {
            if (product == null)
                throw new ArgumentNullException("InAppPurchaseManager: Product is not valid.");

            try
            {
                if (observer == null)
                {
                    observer = new PaymentTransactionObserver(this);
                    SKPaymentQueue.DefaultQueue.AddTransactionObserver(observer);
                }

                if (quantity > 1)
                {
                    SKMutablePayment payment = SKMutablePayment.PaymentWithProduct(product);
                    payment.Quantity = quantity;
                    SKPaymentQueue.DefaultQueue.AddPayment(payment);
                }
                else
                {
                    SKPayment payment = SKPayment.PaymentWithProduct(product);
                    SKPaymentQueue.DefaultQueue.AddPayment(payment);
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
                OnPurchaseFailed(new InAppPurchaseException("Error executing in-app purchase.", 0, ex));
            }
        }
コード例 #2
0
 public override void RestorePurshases()
 {
     if (observer == null)
     {
         observer = new PaymentTransactionObserver(this);
         SKPaymentQueue.DefaultQueue.AddTransactionObserver(observer);
     }
     SKPaymentQueue.DefaultQueue.RestoreCompletedTransactions();
 }