Browse Source

IAP_method_getProducts
Changes: tutorials/platform/android/android_in_app_purchases.rst

Replacing the DEPRECATED getSku method with getProducts.
The author of the module made changes, but did not specify them in
the documentation.

Now instead of signals:
sku_details_query_completed
sku_details_query_error

Need using:
product_details_query_completed
product_details_query_error

Now the purchase list is in:
purchase.products

Single item:
dictionary.put("sku", skus.get(0)); # Not available in plugin
Not avaible.

Oginal plugin code:
https://github.com/godotengine/godot-google-play-billing/blob/billing-v5/godot-google-play-billing/src/main/java/org/godotengine/godot/plugin/googleplaybilling/GodotGooglePlayBilling.java

Max Parkhomenko 2 years ago
parent
commit
f7d6b23079
1 changed files with 12 additions and 12 deletions
  1. 12 12
      tutorials/platform/android/android_in_app_purchases.rst

+ 12 - 12
tutorials/platform/android/android_in_app_purchases.rst

@@ -60,8 +60,8 @@ Initialization example:
             payment.price_change_acknowledged.connect(_on_price_acknowledged) # Response ID (int)
             payment.purchases_updated.connect(_on_purchases_updated) # Purchases (Dictionary[])
             payment.purchase_error.connect(_on_purchase_error) # Response ID (int), Debug message (string)
-            payment.sku_details_query_completed.connect(_on_sku_details_query_completed) # SKUs (Dictionary[])
-            payment.sku_details_query_error.connect(_on_sku_details_query_error) # Response ID (int), Debug message (string), Queried SKUs (string[])
+            payment.product_details_query_completed.connect(_on_product_details_query_completed) # Products (Dictionary[])
+            payment.product_details_query_error.connect(_on_product_details_query_error) # Response ID (int), Debug message (string), Queried SKUs (string[])
             payment.purchase_acknowledged.connect(_on_purchase_acknowledged) # Purchase token (string)
             payment.purchase_acknowledgement_error.connect(_on_purchase_acknowledgement_error) # Response ID (int), Debug message (string), Purchase token (string)
             payment.purchase_consumed.connect(_on_purchase_consumed) # Purchase token (string)
@@ -108,13 +108,13 @@ Example use of ``querySkuDetails()``:
     func _on_connected():
       payment.querySkuDetails(["my_iap_item"], "inapp") # "subs" for subscriptions
 
-    func _on_sku_details_query_completed(sku_details):
-      for available_sku in sku_details:
-        print(available_sku)
+    func _on_product_details_query_completed(product_details):
+      for available_product in product_details:
+        print(available_product)
 
-    func _on_sku_details_query_error(response_id, error_message, skus_queried):
-        print("on_sku_details_query_error id:", response_id, " message: ",
-                error_message, " skus: ", skus_queried)
+    func _on_product_details_query_error(response_id, error_message, products_queried):
+        print("on_product_details_query_error id:", response_id, " message: ",
+                error_message, " products: ", products_queried)
 
 
 Query user purchases
@@ -214,9 +214,9 @@ Purchase fields:
     // PBL V4 replaced getSku with getSkus to support multi-sku purchases,
     // use the first entry for "sku" and generate an array for "skus"
     ArrayList<String> skus = purchase.getSkus();
-    dictionary.put("sku", skus.get(0));
+    dictionary.put("sku", skus.get(0)); # Not available in plugin
     String[] skusArray = skus.toArray(new String[0]);
-    dictionary.put("skus", skusArray);
+    dictionary.put("products", productsArray);
     dictionary.put("is_acknowledged", purchase.isAcknowledged());
     dictionary.put("is_auto_renewing", purchase.isAutoRenewing());
 
@@ -263,7 +263,7 @@ Example use of ``consumePurchase()``:
 ::
 
     func _process_purchase(purchase):
-        if purchase.sku == "my_consumable_iap_item" and purchase.purchase_state == PurchaseState.PURCHASED:
+        if "my_consumable_iap_item" in purchase.products and purchase.purchase_state == PurchaseState.PURCHASED:
             # Add code to store payment so we can reconcile the purchase token
             # in the completion callback against the original purchase
             payment.consumePurchase(purchase.purchase_token)
@@ -297,7 +297,7 @@ Example use of ``acknowledgePurchase()``:
 ::
 
     func _process_purchase(purchase):
-        if purchase.sku == "my_one_time_iap_item" and \
+        if "my_one_time_iap_item" in purchase.products and \
                 purchase.purchase_state == PurchaseState.PURCHASED and \
                 not purchase.is_acknowledged:
             # Add code to store payment so we can reconcile the purchase token