Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for Billing Client 6 #1209

Merged
merged 19 commits into from
Sep 27, 2023
Merged

Support for Billing Client 6 #1209

merged 19 commits into from
Sep 27, 2023

Conversation

MarkVillacampa
Copy link
Member

@MarkVillacampa MarkVillacampa commented Aug 24, 2023

Bumping Billing client to 6.0.0

  • Deprecates...
    • ProrationMode -> ReplacementMode
    • GoogleProrationMode -> GoogleReplacementMode
  • Temporarily disables DEFERRED product change until backend support is ready.

@MarkVillacampa MarkVillacampa added breaking Changes that are breaking dependencies Changes on external dependencies labels Aug 24, 2023
@codecov
Copy link

codecov bot commented Aug 24, 2023

Codecov Report

Attention: 16 lines in your changes are missing coverage. Please review.

Comparison is base (395ca5f) 85.83% compared to head (2d37316) 85.51%.
Report is 2 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1209      +/-   ##
==========================================
- Coverage   85.83%   85.51%   -0.33%     
==========================================
  Files         186      187       +1     
  Lines        6319     6358      +39     
  Branches      918      923       +5     
==========================================
+ Hits         5424     5437      +13     
- Misses        546      567      +21     
- Partials      349      354       +5     
Files Coverage Δ
...tlin/com/revenuecat/purchases/PostReceiptHelper.kt 94.31% <100.00%> (ø)
.../com/revenuecat/purchases/PurchasesOrchestrator.kt 81.70% <100.00%> (-1.78%) ⬇️
...n/com/revenuecat/purchases/amazon/AmazonBackend.kt 86.66% <ø> (ø)
...lin/com/revenuecat/purchases/amazon/AmazonCache.kt 85.71% <ø> (ø)
...rchases/amazon/DefaultPurchasingServiceProvider.kt 14.28% <ø> (ø)
...azon/attribution/AmazonDeviceIdentifiersFetcher.kt 100.00% <100.00%> (ø)
...cat/purchases/amazon/handler/ProductDataHandler.kt 89.65% <100.00%> (ø)
...nuecat/purchases/amazon/handler/PurchaseHandler.kt 88.88% <100.00%> (ø)
...purchases/amazon/handler/PurchaseUpdatesHandler.kt 91.66% <100.00%> (ø)
...ses/amazon/listener/ProductDataResponseListener.kt 0.00% <ø> (ø)
... and 23 more

... and 1 file with indirect coverage changes

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Copy link
Contributor

@tonidero tonidero left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. Maybe we should remove the commented out code temporarily as Andy suggested.

migrations/v7-MIGRATION.md Outdated Show resolved Hide resolved
@MarkVillacampa
Copy link
Member Author

Commit f4b99bd was cherry-picked from PR #1289

Comment on lines 9 to 12
However, there is a behavior change in the "DEFERRED" replacement mode. Previously, a purchase would only occur after the
product change. In BC6, the new purchase occurs place immediately, while the product change becomes effective when the old
item expires. Until we can properly support this new behaviour, we have disabled the "DEFERRED" replacement mode and it
will be added back in a future release of the SDK.
Copy link
Member

@aboedo aboedo Sep 27, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's make it the implications for a developer super explicit here: I might not know whether this affects me at all, and it most likely doesn't.

Maybe something like

If your app supports product changes using DEFERRED replacement mode (link to docs), then you can either stick with the previous major version until support for DEFERRED is re-introduced in this major version, or you can remove DEFERRED replacement options from your app.

If your app doesn't currently use DEFERRED replacement modes, then you should be safe to upgrade to this version without changes in behavior.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

or maybe flipping the order of those since DEFERRED isn't very widely used

@aboedo
Copy link
Member

aboedo commented Sep 27, 2023

looks good! Left one minor note, good to go otherwise

@MarkVillacampa MarkVillacampa merged commit 468a850 into main Sep 27, 2023
5 checks passed
@MarkVillacampa MarkVillacampa deleted the bc6-support-new branch September 27, 2023 14:29
@MarkVillacampa MarkVillacampa mentioned this pull request Sep 27, 2023
MarkVillacampa added a commit that referenced this pull request Sep 28, 2023
### Breaking Changes
* Support for Billing Client 6 (#1209) via Mark Villacampa
(@MarkVillacampa)
* Bump minimum sdk version to Android 4.4 (API level 19) (#1265) via
Mark Villacampa (@MarkVillacampa)
* in app messages support (#1290) via Andy Boedo (@aboedo)
### Bugfixes
* Add `awaitRestore` to customEntitlementComputation library (#1275) via
Toni Rico (@tonidero)
### Other Changes
* Future-proof in-app message APIs in case new types are added (#1293)
via Toni Rico (@tonidero)
* `Code style`: enabled `ALLOW_TRAILING_COMMA` (#1280) via NachoSoto
(@NachoSoto)
MarkVillacampa added a commit to RevenueCat/purchases-hybrid-common that referenced this pull request Oct 3, 2023
tonidero pushed a commit to RevenueCat/cordova-plugin-purchases that referenced this pull request Oct 4, 2023
MarkVillacampa added a commit to RevenueCat/purchases-flutter that referenced this pull request Oct 5, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
breaking Changes that are breaking dependencies Changes on external dependencies
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants