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

[in_app_purchase] Update Play Billing library to 7.1.1 #4

Open
wants to merge 16 commits into
base: main
Choose a base branch
from

Conversation

mchudy
Copy link
Member

@mchudy mchudy commented Dec 3, 2024

Updates Play Billing Library to the latest version 7.1.1. Exposes new APIs as per release notes:

  • Adds Dart representation of ProductDetails.InstallmentPlanDetails
  • Adds Dart representation of PendingPurchasesParams and removes the deprecated enablePendingPurchases method on BillingClientWrapper (breaking change)
  • Adds Dart representation of Purchase.PendingPurchaseUpdate
  • Removes the deprecated ProrationMode as it has been removed from the native library (breaking change)

This PR introduces breaking changes in in_app_purchase_android, but does not introduce any breaking changes on the platform interface level.

Fixes flutter/flutter#147394

Pre-launch Checklist

If you need help, consider asking for advice on the #hackers-new channel on Discord.

mchudy added 13 commits December 3, 2024 10:23
Signed-off-by: Marcin Chudy <[email protected]>
Signed-off-by: Marcin Chudy <[email protected]>
Signed-off-by: Marcin Chudy <[email protected]>
Signed-off-by: Marcin Chudy <[email protected]>
Signed-off-by: Marcin Chudy <[email protected]>
Signed-off-by: Marcin Chudy <[email protected]>
@mchudy mchudy force-pushed the feature/in-app-purchase-play-billing-upgrade branch from 3dc6578 to 1ecb837 Compare December 3, 2024 09:23

@override
bool operator ==(Object other) {
if (identical(other, this)) {
Copy link
Member

Choose a reason for hiding this comment

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

PendingPurchasesParamsWrapper doesn't have identical but it doesn't seem to be consistent in the existing code either

Copy link
Member Author

Choose a reason for hiding this comment

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

Yeah I tried to follow pattern from other files

@@ -26,6 +26,7 @@ class SubscriptionOfferDetailsWrapper {
required this.offerTags,
required this.offerIdToken,
required this.pricingPhases,
this.installmentPlanDetails,
Copy link
Member

Choose a reason for hiding this comment

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

IMO this should be required if it's always provided even if it can be null to avoid someone forgetting to pass the value. On the other hand offerId is not required so someone has a different option

Copy link
Member Author

Choose a reason for hiding this comment

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

I agree, but that's the way it's done in all wrappers. Using multiple standards is probably not the best idea, but I'll also leave it to the further review.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[in app purchase] Update PlayBilling Library to 7.0
2 participants