Пример #1
0
 /// <summary>   Consumes a MANAGED product. </summary>
 ///
 /// <param name="productId">    Identifier for the product. </param>
 public void Consume(string productId)
 {
     SoomlaUtils.LogDebug(TAG, "WStorePlugin consume " + productId);
     try
     {
         if (StoreConfig.STORE_TEST_MODE)
         {
             MockCurApp.ReportProductFulfillment(productId);
         }
         else
         {
             CurApp.ReportProductFulfillment(productId);
         }
     }
     catch (InvalidOperationException e)
     {
         SoomlaUtils.LogDebug(TAG, e.Message);
     }
 }
Пример #2
0
        private async void DoPurchase(string productId)
        {
            try
            {
                bool licenceActiv = false;
                if (StoreConfig.STORE_TEST_MODE)
                {
                    // Kick off purchase; don't ask for a receipt when it returns
                    await MockCurApp.RequestProductPurchaseAsync(productId, false);

                    licInfosMock = MockCurApp.LicenseInformation;
                    licenceActiv = licInfosMock.ProductLicenses[productId].IsActive;
                }
                else
                {
                    // Kick off purchase; don't ask for a receipt when it returns
                    await CurApp.RequestProductPurchaseAsync(productId, false);

                    licInfos     = CurApp.LicenseInformation;
                    licenceActiv = licInfos.ProductLicenses[productId].IsActive;
                }

                if (licenceActiv)
                {
                    OnItemPurchasedCB(productId);
                }
                else
                {
                    SoomlaUtils.LogDebug(TAG, "Purchase cancelled " + productId);
                    OnItemPurchaseCancelCB(productId, false);
                }
            }
            catch (Exception ex)
            {
                // When the user does not complete the purchase (e.g. cancels or navigates back from the Purchase Page), an exception with an HRESULT of E_FAIL is expected.
                SoomlaUtils.LogDebug(TAG, ex.Message);
                OnItemPurchaseCancelCB(productId, true);
            }
        }