//-------------------------------------- // AN_iPurchasesUpdatedListener //-------------------------------------- public void onPurchasesUpdated(SA_iResult billingResult, List <AN_Purchase> purchases) { foreach (var purchase in purchases) { if (billingResult.IsSucceeded) { m_Purchases.Add(purchase); } var transaction = new UM_AndroidTransaction(billingResult, purchase); UpdateTransaction(transaction); } if (purchases.Count == 0) { if (billingResult.IsFailed) { var transaction = new UM_AndroidTransaction(billingResult, null); UpdateTransaction(transaction); } else { throw new InvalidEnumArgumentException("billingResult is Succeeded, but no products provided"); } } }
public AN_BillingConnectionResult(SA_iResult result) : base(result) { if (result.IsSucceeded) { m_inappState = AN_Billing.RESULT_OK; m_subsState = AN_Billing.RESULT_OK; } }
//-------------------------------------- // AN_iBillingClientStateListener //-------------------------------------- public void OnBillingSetupFinished(SA_iResult billingResult) { if (billingResult.IsSucceeded) { m_IsConnected = true; AN_Logger.Log("Service Connected"); return; } }
//-------------------------------------- // AN_iConsumeResponseListener //-------------------------------------- public void OnConsumeResponse(SA_iResult billingResult, string purchaseToken) { if (billingResult.IsSucceeded) { //Let's updated our UI again BuildProducts(); } else { AN_BillingClientSample.ShowErrorMessage(billingResult.Error); } }
public UM_AndroidTransaction(SA_iResult billingResult, AN_Purchase purchase) { if (billingResult.IsSucceeded) { SetPurchase(purchase, false); } else { m_state = UM_TransactionState.Failed; m_error = billingResult.Error; } }
public void onPurchasesUpdated(SA_iResult billingResult, List <BillingClient.AN_Purchase> purchases) { AN_BillingPurchaseResult result; if (billingResult.IsSucceeded) { result = new AN_BillingPurchaseResult(new AN_Purchase(purchases[0])); } else { result = new AN_BillingPurchaseResult(billingResult); } m_BillingPurchaseCallback.Invoke(result); }
//-------------------------------------- // AN_iBillingClientStateListener //-------------------------------------- public void OnBillingSetupFinished(SA_iResult billingResult) { if (billingResult.IsSucceeded) { //inapp var purchasesResult = m_BillingClient.QueryPurchases(AN_BillingClient.SkuType.inapp); if (purchasesResult.IsSucceeded) { m_Purchases.AddRange(purchasesResult.Purchases); } else { m_ConnectToServiceCallback.Invoke(purchasesResult); } //subs purchasesResult = m_BillingClient.QueryPurchases(AN_BillingClient.SkuType.subs); if (purchasesResult.IsSucceeded) { m_Purchases.AddRange(purchasesResult.Purchases); } else { m_ConnectToServiceCallback.Invoke(purchasesResult); } var skuDetailsLoader = new UM_AndroidSkuDetailsLoader(); skuDetailsLoader.LoadSkuDetails(m_BillingClient, AN_BillingClient.SkuType.inapp, inapps => { m_Products.AddRange(inapps); skuDetailsLoader.LoadSkuDetails(m_BillingClient, AN_BillingClient.SkuType.subs, subs => { m_Products.AddRange(subs); m_ConnectToServiceCallback.Invoke(billingResult); VerifyPurchases(); }); }); } else { m_ConnectToServiceCallback.Invoke(billingResult); } }
//-------------------------------------- // AN_iConsumeResponseListener //-------------------------------------- public void OnConsumeResponse(SA_iResult billingResult, string purchaseToken) { Assert.IsTrue(billingResult.IsSucceeded); AN_Purchase consumePurchase = null; foreach (var purchase in m_Purchases) { if (purchase.PurchaseToken.Equals(purchaseToken)) { consumePurchase = purchase; } } if (consumePurchase != null) { m_Purchases.Remove(consumePurchase); } }
//-------------------------------------- // AN_iPurchasesUpdatedListener //-------------------------------------- public void onPurchasesUpdated(SA_iResult billingResult, List <AN_Purchase> purchases) { if (billingResult.IsSucceeded) { foreach (var purchase in purchases) { if (purchase.PurchaseState == AN_Purchase.State.Purchased) { //Reward user for the item purchase InApp.Reward(purchase.Sku); } PrintPurchaseInfo(purchase); } //We will subscribed on this even in order to update UI accordingly OnStoreStateUpdated.Invoke(); } }
public AN_BillingPurchaseResult(SA_iResult result) : base(result) { }
public SA_Result(SA_iResult result) { m_error = result.Error; }
public void OnBillingSetupFinished(SA_iResult billingResult) { AN_BillingConnectionResult result = new AN_BillingConnectionResult(billingResult); m_ConnectionResultAction.Invoke(result); }
public void OnConsumeResponse(SA_iResult billingResult, string purchaseToken) { m_OnConsumeCallback.Invoke(billingResult); }