diff --git a/extension-iap/lib/android/in-app-purchasing-2.0.76.jar b/extension-iap/lib/android/in-app-purchasing-2.0.76.jar
new file mode 100644
index 0000000..cd590eb
Binary files /dev/null and b/extension-iap/lib/android/in-app-purchasing-2.0.76.jar differ
diff --git a/extension-iap/manifests/android/AndroidManifest.xml b/extension-iap/manifests/android/AndroidManifest.xml
index c5bb20d..221cc72 100644
--- a/extension-iap/manifests/android/AndroidManifest.xml
+++ b/extension-iap/manifests/android/AndroidManifest.xml
@@ -4,9 +4,9 @@
-
+
-
+
diff --git a/extension-iap/src/java/com/defold/iap/IapAmazon.java b/extension-iap/src/java/com/defold/iap/IapAmazon.java
index d6bc944..3b1da11 100644
--- a/extension-iap/src/java/com/defold/iap/IapAmazon.java
+++ b/extension-iap/src/java/com/defold/iap/IapAmazon.java
@@ -11,6 +11,7 @@ import java.util.concurrent.BlockingQueue;
import org.json.JSONException;
import org.json.JSONObject;
+import org.json.JSONArray;
import android.app.Activity;
import android.os.Bundle;
@@ -173,9 +174,13 @@ public class IapAmazon implements PurchasingListener {
if (productDataResponse.getRequestStatus() != ProductDataResponse.RequestStatus.SUCCESSFUL) {
listener.onProductsResult(IapJNI.BILLING_RESPONSE_RESULT_ERROR, null, commadPtr);
} else {
+ for (final String s : productDataResponse.getUnavailableSkus()) {
+ Log.v(TAG, "Unavailable SKU: " + s);
+ }
+
Map products = productDataResponse.getProductData();
try {
- JSONObject data = new JSONObject();
+ JSONArray data = new JSONArray();
for (Map.Entry entry : products.entrySet()) {
String key = entry.getKey();
Product product = entry.getValue();
@@ -189,7 +194,7 @@ public class IapAmazon implements PurchasingListener {
// Based on return values from getPrice: https://developer.amazon.com/public/binaries/content/assets/javadoc/in-app-purchasing-api/com/amazon/inapp/purchasing/item.html
item.put("price", priceString.replaceAll("[^0-9.,]", ""));
}
- data.put(key, item);
+ data.put(item);
}
listener.onProductsResult(IapJNI.BILLING_RESPONSE_RESULT_OK, data.toString(), commadPtr);
} catch (JSONException e) {