public bool ShouldOfferService(OwnedPurchasesResult result, String productId) { if (null == result) { Log.Error(TAG, "OwnedPurchasesResult is null"); return(false); } IList <String> inAppPurchaseDataList = result.InAppPurchaseDataList; foreach (String data in inAppPurchaseDataList) { try { InAppPurchaseData inAppPurchaseData = new InAppPurchaseData(data); if (productId.Equals(inAppPurchaseData.ProductId)) { return(inAppPurchaseData.IsSubValid); } } catch (JSONException e) { Log.Error(TAG, "parse InAppPurchaseData JSONException", e); return(false); } } return(false); }
public void OnSuccess(Java.Lang.Object result) { Log.Info(TAG, "obtainOwnedPurchaseRecord, success"); OwnedPurchasesResult InResult = (OwnedPurchasesResult)result; IList <String> inAppPurchaseDataList = InResult.InAppPurchaseDataList; if (inAppPurchaseDataList == null) { CurrentActivity.OnFinish(); return; } for (int i = 0; i < inAppPurchaseDataList.Count(); i++) { CurrentActivity.billList.Add(inAppPurchaseDataList.ElementAt(i)); } continuationToken = InResult.ContinuationToken; if (!TextUtils.IsEmpty(continuationToken)) { CurrentActivity.QueryHistoryInterface(); } else { CurrentActivity.OnFinish(); } }
public void OnSuccess(Java.Lang.Object result) { if (result == null) { Log.Error(TAG, " result is null"); return; } Log.Info(TAG, "obtainOwnedPurchases, success"); OwnedPurchasesResult InResult = (OwnedPurchasesResult)result; if (InResult.InAppPurchaseDataList != null) { IList <String> inAppPurchaseDataList = InResult.InAppPurchaseDataList; IList <String> inAppSignature = InResult.InAppSignature; for (int i = 0; i < inAppPurchaseDataList.Count; i++) { String inAppPurchaseData = inAppPurchaseDataList.ElementAt(i); String inAppPurchaseDataSignature = inAppSignature.ElementAt(i); CurrentActivity.DeliverProduct(inAppPurchaseData, inAppPurchaseDataSignature); } } if (!TextUtils.IsEmpty(InResult.ContinuationToken)) { CurrentActivity.QueryPurchases(InResult.ContinuationToken); } }
private void OwnedPurchases(OwnedPurchasesResult obj) { if (obj == null) { return; } isOwned = obj.ItemList.Contains(HMSIAPConstants.AdsRemove); }
public void OnSuccess(Java.Lang.Object result) { Log.Info(TAG, "obtainOwnedPurchases, success"); OwnedPurchasesResult InResult = (OwnedPurchasesResult)result; cacheOwnedPurchasesResult = InResult; view.UpdateProductStatus(cacheOwnedPurchasesResult); }
public void OnSuccess(Java.Lang.Object result) { Log.Info(TAG, "obtainOwnedPurchases, success"); OwnedPurchasesResult InResult = (OwnedPurchasesResult)result; CurrentActivity.CheckHiddenLevelPurchaseState(InResult); if (InResult != null && !TextUtils.IsEmpty(InResult.ContinuationToken)) { CurrentActivity.QueryPurchases(InResult.ContinuationToken); } }
void ParseOwned(OwnedPurchasesResult result) { if (result == null || result.InAppPurchaseDataList == null) { return; } foreach (var inAppPurchaseData in result.InAppPurchaseDataList) { this.purchasedData[inAppPurchaseData.ProductId] = inAppPurchaseData; } }
void ParseOwned(OwnedPurchasesResult result) { if (result == null || result.InAppPurchaseDataList == null) { return; } foreach (string inAppPurchaseData in result.InAppPurchaseDataList) { InAppPurchaseData inAppPurchaseDataBean = new InAppPurchaseData(inAppPurchaseData); this.purchasedData[inAppPurchaseDataBean.ProductId] = inAppPurchaseDataBean; } }
public void Buy(string productId) { Log.Info(TAG, "buy"); cacheOwnedPurchasesResult = null; PurchaseIntentReq req = new PurchaseIntentReq(); req.ProductId = productId; req.PriceType = IapClientPriceType.InAppSubscription; Task task = mClient.CreatePurchaseIntent(req); task.AddOnSuccessListener(new BuyListenerImpl(this.view, this, productId)).AddOnFailureListener(new BuyListenerImpl(this.view, this, productId)); }
public void UpdateProductStatus(OwnedPurchasesResult ownedPurchasesResult) { foreach (String productId in SUBSCRIPTION_PRODUCT) { View view = GetView(productId); Button button = (Button)view.FindViewById(Resource.Id.action); button.Tag = productId; if (ShouldOfferService(ownedPurchasesResult, productId)) { button.Text = GetString(Resource.String.active); button.Click += (sender, e) => { presenter.ShowSubscription((sender as Button).Tag.ToString()); }; } else { button.Text = GetString(Resource.String.buy); button.Click += (sender, e) => { presenter.Buy((sender as Button).Tag.ToString()); }; } } }
private void CheckHiddenLevelPurchaseState(OwnedPurchasesResult result) { if (result == null || result.InAppPurchaseDataList == null) { Log.Info(TAG, "result is null"); QueryProducts(); return; } IList <String> inAppPurchaseDataList = result.InAppPurchaseDataList; for (int i = 0; i < inAppPurchaseDataList.Count(); i++) { try { InAppPurchaseData inAppPurchaseDataBean = new InAppPurchaseData(inAppPurchaseDataList.ElementAt(i)); if (inAppPurchaseDataBean.PurchaseStatus == InAppPurchaseData.PurchaseState.Purchased) { if (HIDDEN_LEVEL_PRODUCTID.Equals(inAppPurchaseDataBean.ProductId)) { isHiddenLevelPurchased = true; } } } catch (JSONException e) { Log.Error(TAG, "delivery:" + e.Message); } } if (isHiddenLevelPurchased) { DeliverProduct(); } else { QueryProducts(); } }
void ParseOwned(OwnedPurchasesResult result) { if (result == null || result.InAppPurchaseDataList == null) { return; } // foreach (string inAppPurchaseData in result.InAppPurchaseDataList) // { // InAppPurchaseData inAppPurchaseDataBean = new InAppPurchaseData(inAppPurchaseData); // this.purchasedData[inAppPurchaseDataBean.ProductId] = inAppPurchaseDataBean; // } for (var i = 0; i < result.InAppPurchaseDataList.Count; i++) { string inAppPurchaseData = result.InAppPurchaseDataList[i]; InAppPurchaseData inAppPurchaseDataBean = new InAppPurchaseData(inAppPurchaseData); var productId = inAppPurchaseDataBean.ProductId; this.inAppSignature[productId] = result.InAppSignature[i]; this.inAppPurchaseData[productId] = inAppPurchaseData; this.purchasedData[productId] = inAppPurchaseDataBean; } }