-
Notifications
You must be signed in to change notification settings - Fork 85
Add V9 migration guide #2508
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
Add V9 migration guide #2508
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for updating this! Looks good, only some small corrections
Co-authored-by: Antonio Pallares <ajpallares@users.noreply.github.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for doing this! Some minor suggestions.
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #2508 +/- ##
=======================================
Coverage 78.73% 78.73%
=======================================
Files 289 289
Lines 10602 10602
Branches 1494 1494
=======================================
Hits 8347 8347
Misses 1607 1607
Partials 648 648 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Co-authored-by: JayShortway <29483617+JayShortway@users.noreply.github.com>
## RevenueCat SDK This release updates the SDK to use Google Play Billing Library 8. This version of the Billing Library removed APIs to query for expired subscriptions and consumed one-time products, aside from other improvements. You can check the full list of changes here: https://developer.android.com/google/play/billing/release-notes#8-0-0 Additionally, we've also updated Kotlin to 2.0.21 and our new minimum version is Kotlin 1.8.0+. If you were using an older version of Kotlin, you will need to update it. Regarding API changes, we've also removed data classes from our public APIs. This means that for classes that were previously data classes, the `copy` function and `componentN` functions (destructuring declarations) have been removed. `equals` and `hashCode` functions still work as before. ### Play Billing Library 8: No expired subscriptions or consumed one-time products **Note:** the following is only relevant if you recently integrated RevenueCat, and do not (yet) have all your transactions imported. Play Billing Library 8 removed functionality to query expired subscriptions or consumed one-time products. This means that, for users migrating from a non-RevenueCat implementation of the Play Billing Library, the SDK will not be able to send purchase information from these purchases. We can still ingest historical data from these purchases through a backend historical import. See [docs](https://www.revenuecat.com/docs/migrating-to-revenuecat/migrating-existing-subscriptions). This doesn't affect developers that have all transactions in RevenueCat, which is true for the vast majority. ### Bumped minimum Kotlin version RevenueCat SDK v9 bumps Kotlin to 2.0.21, with a minimum Kotlin version of 1.8.0. ### Using the SDK with your own IAP code (previously Observer Mode) Using the SDK with your own IAP code is still supported in v9. Other than updating the SDK version, there are no changes required. Just make sure the version of the Play Billing Library is also version 8.0.0+. ### 💥 Breaking Changes * Removes data classes from public API (#2498) via JayShortway (@JayShortway) * Marks `PaywallData` and `PaywallColor` as `InternalRevenueCatAPI`. (#2507) via JayShortway (@JayShortway) * BC8 migration (#2506) via Toni Rico (@tonidero) * Update to kotlin 2.0.21 while keeping language compatibility (#2493) via Toni Rico (@tonidero) ### 🔄 Other Changes * Update CustomEntitlementComputation sample app kotlin version (#2510) via Toni Rico (@tonidero) * Fix `Switch` component previews (#2509) via Toni Rico (@tonidero) * Add V9 migration guide (#2508) via Toni Rico (@tonidero) * [AUTOMATIC][Paywalls V2] Updates paywall-preview-resources submodule (#2499) via RevenueCat Git Bot (@RCGitBot) --------- Co-authored-by: JayShortway <29483617+JayShortway@users.noreply.github.com>
|
||
### Play Billing Library 8: No expired subscriptions or consumed one-time products | ||
|
||
**Note:** the following is only relevant if you recently integrated RevenueCat, and do not (yet) have all your transactions imported. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm late to the game here, but what is "recently" in this context? this migration guide will live for a long time. Maybe we can tie it to a real-life date, even if arbitrary?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hmm right, "recently" is in relation to the act of upgrading to v9. So if you're upgrading to v9 soon after integrating RevenueCat for the first time, and not all transactions are imported (yet). Maybe something like this is already better?
**Note:** the following is only relevant if you recently integrated RevenueCat, and do not (yet) have all your transactions imported. | |
**Note:** the following is only relevant if you recently integrated RevenueCat before upgrading to v9, and do not (yet) have all your transactions imported. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Right, I don't think we can tie it to a specific date unfortunately, though it will become less relevant over time. I think @JayShortway's suggestion makes sense! Will make a PR with it.
### Description As suggested in #2508 (comment)
Description
This adds a small migration guide for SDK V9