Beispiel #1
0
        /// <summary>
        /// restore already purchased user's transactions for non consumable iaps.
        /// For Android/WP8 we use the received list for detecting previous purchases
        /// </summary>
        public static void RestoreTransactions()
        {
                        #if UNITY_IPHONE
            OpenIAB.restoreTransactions();
                        #elif UNITY_ANDROID || UNITY_WP8
            if (inventory == null)
            {
                RestoreFailed("Restoring transactions failed. Please try again.");
                return;
            }

            List <string> prods = inventory.GetAllOwnedSkus();
            for (int i = 0; i < prods.Count; i++)
            {
                string id = GetIAPIdentifier(prods[i]);
                if (!DBManager.isPurchased(id))
                {
                    DBManager.SetToPurchased(id);
                }
            }
            RestoreSucceeded();
                        #endif

            //update ShopManager GUI items
            if (ShopManager.GetInstance())
            {
                ShopManager.SetItemState();
            }
        }
Beispiel #2
0
        /// <summary>
        /// Restore already purchased user's transactions for non consumable IAPs.
        /// For Android we use the received list for detecting previous purchases.
        /// </summary>
        public static void RestoreTransactions()
        {
                        #if UNITY_IOS
            extensions.GetExtension <IAppleExtensions>().RestoreTransactions(OnTransactionsRestored);
                        #else
            Product[] purchasedProducts = controller.products.all;
            foreach (Product product in purchasedProducts)
            {
                string id = product.definition.id;
                if (DBManager.isPurchased(id) || product.definition.type == ProductType.Consumable ||
                    !product.hasReceipt || String.IsNullOrEmpty(product.receipt))
                {
                    continue;
                }

                DBManager.SetToPurchased(id);
            }

            OnTransactionsRestored(true);
            #endif

            //update ShopManager GUI items
            if (ShopManager.GetInstance())
            {
                ShopManager.SetItemState();
            }
        }
Beispiel #3
0
        /// <summary>
        /// restore already purchased user's transactions for non consumable iaps.
        /// For Android we use the received list for detecting previous purchases
        /// </summary>
        public static void RestoreTransactions()
        {
            #if UNITY_IPHONE
            StoreKitBinding.restoreCompletedTransactions();
            #elif UNITY_ANDROID
            if (prods == null)
            {
                RestoreFailed("Restoring transactions failed. Please try again.");
                return;
            }

            for (int i = 0; i < prods.Count; i++)
            {
                string id = GetIAPIdentifier(prods[i].productId);
                if (!DBManager.isPurchased(id))
                {
                    DBManager.SetToPurchased(id);
                }
            }
            RestoreSucceeded();
            #endif

            //update ShopManager GUI items
            if (ShopManager.GetInstance())
            {
                ShopManager.SetItemState();
            }
        }