示例#1
0
        static OpenIAB_WP8()
        {
            Store.PurchaseSucceeded += (storeSku, payload) =>
            {
                string   sku      = GetSku(storeSku);
                Purchase purchase = Purchase.CreateFromSku(sku, payload);
                OpenIAB.EventManager.SendMessage("OnPurchaseSucceeded", purchase);
            };
            Store.PurchaseFailed += (error) => { OpenIAB.EventManager.SendMessage("OnPurchaseFailed", error); };

            Store.ConsumeSucceeded += (storeSku) =>
            {
                string   sku      = GetSku(storeSku);
                Purchase purchase = Purchase.CreateFromSku(sku);
                OpenIAB.EventManager.SendMessage("OnConsumePurchaseSucceeded", purchase);
            };
            Store.ConsumeFailed += (error) => { OpenIAB.EventManager.SendMessage("OnConsumePurchaseFailed", error); };

            Store.LoadListingsSucceeded += (listings) =>
            {
                Inventory inventory = GetInventory();
                foreach (KeyValuePair <string, ProductListing> pair in listings)
                {
                    SkuDetails skuDetails = new SkuDetails(pair.Value);
                    inventory.AddSkuDetails(skuDetails);
                }
                OpenIAB.EventManager.SendMessage("OnQueryInventorySucceeded", inventory);
            };
            Store.LoadListingsFailed += (error) =>
            {
                OpenIAB.EventManager.SendMessage("OnQueryInventoryFailed", error);
            };
        }
示例#2
0
 public void purchaseSubscription(string sku, string developerPayload = "")
 {
     if (!IsDevice())
     {
         // Fake purchase in editor mode
         OpenIAB.EventManager.SendMessage("OnPurchaseSucceeded", Purchase.CreateFromSku(sku, developerPayload).Serialize());
         return;
     }
     _plugin.Call("purchaseSubscription", sku, developerPayload);
 }
示例#3
0
 public Inventory(StoreKitProduct[] products)
 {
     foreach (var product in products)
     {
         string sku = OpenIAB_iOS.StoreSku2Sku(product.identifier);
         _skuMap.Add(sku, new SkuDetails(product));
         if (OpenIAB_iOS.IsProductPurchased(product.identifier))
         {
             _purchaseMap.Add(sku, Purchase.CreateFromSku(sku));
         }
     }
 }
示例#4
0
        private static Inventory GetInventory()
        {
            var inventory     = new Inventory();
            var purchasesList = Store.Inventory;

            foreach (string storeSku in purchasesList)
            {
                Purchase purchase = Purchase.CreateFromSku(GetSku(storeSku));
                inventory.AddPurchase(purchase);
            }
            return(inventory);
        }