Skip to content

Commit 0b086f7

Browse files
committed
inappbilling v17.1.0
1 parent 1cdb013 commit 0b086f7

File tree

103 files changed

+1254
-696
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

103 files changed

+1254
-696
lines changed

docs/inappbilling/_includes/add-manual-appdescriptor.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ application descriptor.
2626

2727
```xml
2828
<manifest android:installLocation="auto" >
29-
<uses-sdk android:minSdkVersion="21" android:targetSdkVersion="34" />
29+
<uses-sdk android:minSdkVersion="21" android:targetSdkVersion="35" />
3030

3131
<uses-permission android:name="android.permission.INTERNET"/>
3232

docs/inappbilling/amazon/testing.md

Lines changed: 19 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,17 @@ Instead you will need to install and configure the **App Tester** application an
1515

1616
App Tester allows you to unit test the In-App Purchasing (IAP) functionality of your app in sandbox mode before you submit the app for publication. You download App Tester from the Amazon Appstore onto the same Android device as your app. The App Tester simulates the production environment. You run IAP-related test cases on your app, and App Tester generates API responses (that you configure using a JSON file).
1717

18-
19-
The easiest way is to install the app from the Amazon Appstore
18+
The easiest way is to install the app from the Amazon Appstore:
2019

2120
- On your Android mobile device, start the Amazon Appstore app.
2221
- Search for "Amazon App Tester".
2322
- Select the "Amazon App Tester" app. (Do not select the Web App Tester, which is a different app.)
2423
- Tap through the prompts to download and install the app.
2524

25+
You can also find the application at the following link:
26+
27+
http://www.amazon.com/Amazon-App-Tester/dp/B00BN3YZM2/
28+
2629

2730
### Create a JSON Data File
2831

@@ -79,8 +82,15 @@ D/Kiwi (11971): AppstoreSDK: Production Mode: Release build or debug.amazon.s
7982
```
8083

8184

82-
:::note
83-
You must be using a recent release of AIR, version 33.1.1.889 or higher. APK's produced in older versions of AIR are incorrectly packaged as production builds. You can work around this by using the AndroidStudioProject output if required.
85+
86+
:::caution Packaging Target
87+
It is important the you use a debug build target when testing Amazon applications, ie. you must use `-target apk-debug`. This ensures AIR produces a debug build of your application that allows the Amazon AppstoreSDK to enter debug mode.
88+
89+
If you use a release target eg `apk-captive-runtime` then you will always see the "Production mode" warning and won't be able to test.
90+
:::
91+
92+
:::note AIR Version
93+
You must be using a recent release of AIR, version 33.1.1.889 or higher. APK's produced in older versions of AIR are always packaged as release builds. You can work around this by using the AndroidStudioProject output if required however we recommend updating the AIR SDK and using the debug target.
8494
:::
8595

8696

@@ -134,15 +144,15 @@ Listener callbacks are mapped to extension events depending on the triggered cal
134144

135145
| Amazon Listener Callback | | Extension Event(s) |
136146
| --- | --- | --- |
137-
| `onProductDataResponse` | success | `InAppBillingEvent.PRODUCTS_LOADED` |
138-
| `onProductDataResponse` | invalid SKU | `InAppBillingEvent.PRODUCT_INVALID` |
139-
| `onProductDataResponse` | failed | `InAppBillingEvent.PRODUCTS_FAILED` |
147+
| `onProductDataResponse` | success | `ProductEvent.PRODUCTS_LOADED` |
148+
| `onProductDataResponse` | invalid SKU | `ProductEvent.PRODUCT_INVALID` |
149+
| `onProductDataResponse` | failed | `ProductEvent.PRODUCTS_FAILED` |
140150
| `onPurchaseResponse` | success | `PurchaseEvent.PURCHASES_UPDATED` |
141151
| `onPurchaseResponse` | failed | `PurchaseEvent.PURCHASE_FAILED` |
142152
| `onPurchaseUpdatesResponse` | `getPurchases` > success | `PurchaseEvent.GET_PURCHASES_COMPLETE` |
143153
| `onPurchaseUpdatesResponse` | `getPurchases` > failed | `PurchaseEvent.GET_PURCHASES_FAILED` |
144-
| `onPurchaseUpdatesResponse` | `restorePurchases` > success | `InAppBillingEvent.RESTORE_PURCHASES_SUCCESS` |
145-
| `onPurchaseUpdatesResponse` | `restorePurchases` > failed | `InAppBillingEvent.RESTORE_PURCHASES_FAILED` |
154+
| `onPurchaseUpdatesResponse` | `restorePurchases` > success | `PurchaseEvent.RESTORE_PURCHASES_SUCCESS` |
155+
| `onPurchaseUpdatesResponse` | `restorePurchases` > failed | `PurchaseEvent.RESTORE_PURCHASES_FAILED` |
146156

147157

148158
This is provided only as a guide of the implementation to better utilise the Amazon documentation. The exact implementation is more complex.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ The application receipt provides a record of the sale of an app and any purchase
1111

1212
You can use this receipt to verify purchases and check expiration of subscriptions.
1313

14-
There are two ways to verify a receipts authenticity:
14+
There are two ways to verify a receipt's authenticity:
1515

1616

1717
- On your server with the App Store. Validating receipts with the App Store requires secure connections between your app and your server, and between your server and the App Store. For more information, see [Validating receipts with the App Store](https://developer.apple.com/documentation/storekit/in-app_purchase/original_api_for_in-app_purchase/validating_receipts_with_the_app_store?language=objc).

docs/inappbilling/change-a-purchase.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ See [Subscription Offers](subscription-offers) for more information.
113113

114114

115115

116-
## Set proration mode
116+
## Proration Mode
117117

118118
When upgrading or downgrading a subscription, you can set the proration mode in the `PurchaseChangeRequest`
119119
class to provide details about the proration that will be applied when the subscription changes:

docs/inappbilling/changelog.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,31 @@
1+
### 2025.07.25 [v17.1.0]
2+
3+
```
4+
## Major Update
5+
6+
This latest update integrates **Google Play Billing v7** bringing support for **Android API v35**. (This is a required update before the end of August 2025.)
7+
8+
**This release brings a refactoring of the extension around products and purchases events.** The purpose here is to reduce the ambiguity of the `InAppBillingEvent` that was previously used to handle all events and to provide a more consistent API for handling purchases and products.
9+
10+
This update also includes a major update to the **Samsung IAP** integration. The SDK has been updated to v6.4.0 which includes a range of internal changes. Purchases now need to be acknowledged which is completed when through the normal process of calling `finishPurchase()`. There have been some internal changes to offers with usage of the "promotion eligibility" checks that are performed when retrieving the product list.
11+
12+
Migration guide: https://docs.airnativeextensions.com/docs/inappbilling/migration-v17.0
13+
14+
15+
### Updates
16+
17+
feat(playbilling): update play billing sdk v7.1.1 (resolves https://github.com/distriqt/ANE-InAppBilling/issues/649, resolves https://github.com/distriqt/ANE-InAppBilling/issues/647)
18+
feat(samsung): update samsung iap sdk v6.4.0
19+
feat: refactor introducing separate product and purchase events to provide clearer usage
20+
feat(package): update package files to include supported platforms
21+
feat(android): update `nativeVersion` function to return version of billing service (after setup call)
22+
feat(playbilling): add ability to set new EU requirements on purchase requests (`isOfferPersonalised`)
23+
feat(playbilling): add `PendingUpdate` details on a purchase when purchase is changing
24+
feat(playbilling): add `SubscriptionInstallmentPlan` on a `SubscriptionOffer` for subscription installment payment options (resolves https://github.com/distriqt/ANE-InAppBilling/issues/606)
25+
feat(playbilling,ios): add subscription management UI and fallback url redirect (resolves https://github.com/distriqt/ANE-InAppBilling/issues/651)
26+
feat(unity): add new features to unity build, including PendingUpdate, SubscriptionInstallment
27+
```
28+
129
### 2025.03.31 [v16.1.2]
230

331
```

0 commit comments

Comments
 (0)