PurchaseProcessingResult IStoreListener.ProcessPurchase(PurchaseEventArgs e) { PurchaseProcessingResult result = PurchaseProcessingResult.Pending; foreach (var l in _list) { if (l.ProcessPurchase(e) == PurchaseProcessingResult.Complete) { result = PurchaseProcessingResult.Complete; } } return(result); }
/// <summary> /// Pending状態のアイテムを更新. /// </summary> private void UpdatePendingProduct(Product product, PurchaseProcessingResult result) { // レシートを持っていない. if (!product.hasReceipt) { return; } if (string.IsNullOrEmpty(product.transactionID)) { return; } var pendingProducts = new List <Product>(PendingProducts); // Pendingの場合は最新のものに更新. if (result == PurchaseProcessingResult.Pending) { var pendingProduct = pendingProducts.FirstOrDefault(x => x.transactionID == product.transactionID); if (pendingProduct != null) { pendingProducts.Remove(pendingProduct); } pendingProducts.Add(product); } else if (result == PurchaseProcessingResult.Complete) { // 完了した場合は削除. var pendingProduct = pendingProducts.FirstOrDefault(x => x.transactionID == product.transactionID); if (pendingProduct != null) { pendingProducts.Remove(pendingProduct); } storeController.ConfirmPendingPurchase(product); var builder = new StringBuilder(); builder.AppendLine("------- ConfirmPendingProducts -------"); builder.AppendLine(GetProductString(product)).AppendLine(); UnityConsole.Event(ConsoleEventName, ConsoleEventColor, builder.ToString()); } PendingProducts = pendingProducts.ToArray(); }
public PurchaseProcessingResult ProcessPurchase(PurchaseEventArgs args) { PurchaseProcessingResult result = PurchaseProcessingResult.Pending; for (int i = 0; i < InappKeys.Count; i++) { if (string.Equals(args.purchasedProduct.definition.id, InappKeys[i], StringComparison.Ordinal)) { UnityEngine.Debug.Log($"ProcessPurchase: PASS. Product: '{args.purchasedProduct.definition.id}'"); _ads_manager.Instance.InappSuccessArgs(InappKeys[i]); if (i != 1) { return(result = PurchaseProcessingResult.Complete); } result = PurchaseProcessingResult.Pending; } } return(result); }
public PurchaseProcessingResult ProcessPurchase(PurchaseEventArgs args) { if (processPurchase != null) { return(processPurchase(args)); } PurchaseProcessingResult result = PurchaseProcessingResult.Complete; T product = null; ConsumableProducts.TryGetValue(args.purchasedProduct.definition.id, out product); if (onProcessPurchase != null) { onProcessPurchase(product, args, result); } return(result); }
public PurchaseProcessingResult ProcessPurchase(PurchaseEventArgs pev) { PurchaseProcessingResult r = PurchaseProcessingResult.Pending; return(r); }
public PurchaseResult(PurchaseProcessingResult processingResult) => this.processingResult = processingResult;