From bc8dc740b51a4d01801ff8a12559bfbb1b847885 Mon Sep 17 00:00:00 2001 From: Ricardo Alcantara Date: Tue, 28 Jul 2020 09:39:31 -0300 Subject: [PATCH] Android IAP Response Code can now return null. --- mobile/android_iap/iap_demo.gd | 2 +- .../GodotGooglePlayBilling/BillingResult.cs | 4 ++-- mono/android_iap/Main.cs | 16 ++++++++-------- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/mobile/android_iap/iap_demo.gd b/mobile/android_iap/iap_demo.gd index 0993f0de..ab6fb13f 100644 --- a/mobile/android_iap/iap_demo.gd +++ b/mobile/android_iap/iap_demo.gd @@ -116,7 +116,7 @@ func _on_QuerySkuDetailsButton_pressed(): func _on_PurchaseButton_pressed(): var response = payment.purchase(TEST_ITEM_SKU) if response.status != OK: - show_alert("Purchase error %d: %s" % [response.response_code, response.debug_message]) + show_alert("Purchase error %s: %s" % [response.response_code, response.debug_message]) func _on_ConsumeButton_pressed(): diff --git a/mono/android_iap/GodotGooglePlayBilling/BillingResult.cs b/mono/android_iap/GodotGooglePlayBilling/BillingResult.cs index 0fa3d785..48bfb505 100644 --- a/mono/android_iap/GodotGooglePlayBilling/BillingResult.cs +++ b/mono/android_iap/GodotGooglePlayBilling/BillingResult.cs @@ -51,7 +51,7 @@ namespace Android_Iap.GodotGooglePlayBilling try { Status = (int)billingResult["status"]; - ResponseCode = (billingResult.Contains("response_code") ? (BillingResponseCode)billingResult["response_code"] : BillingResponseCode.Ok); + ResponseCode = (billingResult.Contains("response_code") ? (BillingResponseCode?)billingResult["response_code"] : null); DebugMessage = (billingResult.Contains("debug_message") ? (string)billingResult["debug_message"] : null); } catch (System.Exception ex) @@ -61,7 +61,7 @@ namespace Android_Iap.GodotGooglePlayBilling } public int Status { get; set; } - public BillingResponseCode ResponseCode { get; set; } + public BillingResponseCode? ResponseCode { get; set; } public string DebugMessage { get; set; } } } diff --git a/mono/android_iap/Main.cs b/mono/android_iap/Main.cs index 3482dc0a..97a7bbe6 100644 --- a/mono/android_iap/Main.cs +++ b/mono/android_iap/Main.cs @@ -99,11 +99,11 @@ namespace Android_Iap var result = _googlePlayBilling.Purchase("android.test.purchased"); if (result != null && result.Status == (int)Error.Ok) { - GD.Print("Bought"); + GD.Print("Purchase Requested"); } else { - GD.Print("Failed"); + GD.Print($"Purchase Failed {result.ResponseCode} {result.DebugMessage}"); } } @@ -112,11 +112,11 @@ namespace Android_Iap var result = _googlePlayBilling.Purchase("android.test.canceled"); if (result != null && result.Status == (int)Error.Ok) { - GD.Print("Bought"); + GD.Print("Purchase Requested"); } else { - GD.Print("Failed"); + GD.Print($"Purchase Failed {result.ResponseCode} {result.DebugMessage}"); } } private void OnButton2_pressed() @@ -124,11 +124,11 @@ namespace Android_Iap var result = _googlePlayBilling.Purchase("android.test.refunded"); if (result != null && result.Status == (int)Error.Ok) { - GD.Print("Bought"); + GD.Print("Purchase Requested"); } else { - GD.Print("Failed"); + GD.Print($"Purchase Failed {result.ResponseCode} {result.DebugMessage}"); } } private void OnButton3_pressed() @@ -136,11 +136,11 @@ namespace Android_Iap var result = _googlePlayBilling.Purchase("android.test.item_unavailable"); if (result != null && result.Status == (int)Error.Ok) { - GD.Print("Bought"); + GD.Print("Purchase Requested"); } else { - GD.Print("Failed"); + GD.Print($"Purchase Failed {result.ResponseCode} {result.DebugMessage}"); } }