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 PlayBilling Library to 7.0 #147394

Open
zoeyfan opened this issue Apr 26, 2024 · 9 comments · May be fixed by leancodepl/packages#4 or flutter/packages#8218
Open

[in app purchase] Update PlayBilling Library to 7.0 #147394

zoeyfan opened this issue Apr 26, 2024 · 9 comments · May be fixed by leancodepl/packages#4 or flutter/packages#8218
Labels
c: proposal A detailed proposal for a change to Flutter p: in_app_purchase Plugin for in-app purchase P2 Important issues not at the top of the work list package flutter/packages repository. See also p: labels. platform-android Android applications specifically team-android Owned by Android platform team triaged-android Triaged by Android platform team

Comments

@zoeyfan
Copy link

zoeyfan commented Apr 26, 2024

Use case

Creating a feature placeholder to update the PlayBilling Library to 7.0 (or latest version) in the Android part of the plugin. ###

Proposal

Creating a feature placeholder to update the PlayBilling Library to 7.0 (or latest version) in the Android part of the plugin. ###

@danagbemava-nc danagbemava-nc added in triage Presently being triaged by the triage team platform-android Android applications specifically p: in_app_purchase Plugin for in-app purchase package flutter/packages repository. See also p: labels. c: proposal A detailed proposal for a change to Flutter team-android Owned by Android platform team fyi-ecosystem For the attention of Ecosystem team and removed in triage Presently being triaged by the triage team labels Apr 26, 2024
@stuartmorgan stuartmorgan added the triaged-ecosystem Triaged by Ecosystem team label Apr 30, 2024
@flutter-triage-bot flutter-triage-bot bot removed fyi-ecosystem For the attention of Ecosystem team triaged-ecosystem Triaged by Ecosystem team labels Apr 30, 2024
@yaakovschectman yaakovschectman added P2 Important issues not at the top of the work list triaged-android Triaged by Android platform team labels May 2, 2024
@yaakovschectman
Copy link
Contributor

From triage: @zoeyfan Is the request only to update the version, or to also add the new APIs?

@zoeyfan
Copy link
Author

zoeyfan commented May 2, 2024

@yaakovschectman both, add new APIs available in the new version of the Play Billing library.

@richanshah

This comment was marked as off-topic.

@zoeyfan zoeyfan changed the title [in app purchase] Update PlayBilling Library to 6.2 [in app purchase] Update PlayBilling Library to 7.9 Jul 16, 2024
@zoeyfan zoeyfan changed the title [in app purchase] Update PlayBilling Library to 7.9 [in app purchase] Update PlayBilling Library to 7.0 Jul 16, 2024
@Sotatek-PhiPham

This comment was marked as off-topic.

@vasuravada

This comment was marked as off-topic.

@stuartmorgan

This comment was marked as off-topic.

@mchudy
Copy link

mchudy commented Nov 26, 2024

@stuartmorgan I’m working on this migration along with providing new features from the Play Billing 7 library and I have a question on the best API design for exposing https://developer.android.com/reference/com/android/billingclient/api/PendingPurchasesParams.Builder#enablePrepaidPlans() to the Dart client.

We have a depracated enablePendingPurchases method on the BillingClient which was made no-op in this commit flutter/packages@bf92be8 as enabling pending purchases for one time products in mandatory https://developer.android.com/reference/com/android/billingclient/api/PendingPurchasesParams.Builder#enableOneTimeProducts().


Should we:

  • Add a new paremeter to BillingClient.startConnection? Should it be a simple boolean enablePrepaidPlans or better create a class wrapper PendingPurchaseParams (more futureproof?)
  • Revert the deprecation on this method and make it take some parameter for this option. Sounds like a weird change though and providing this param has to be done while constructing the client.
  • Create a new method likeenablePendingPurchasesForPrepaidPlans?
  • Maybe it’s also time to remove the deprecated method from the package to save confusion? This migration will cause a breaking change in the Android interface anyway with the removal of the ProrationMode enum on the native side. As enablePendingPurchases has been a no-op for a long time already, it would also be a trivial migration for the package users.

@stuartmorgan
Copy link
Contributor

@gmackall for input on the above.

@gmackall
Copy link
Member

gmackall commented Dec 2, 2024

I think adding a new class wrapper PendingPurchaseParams and using that as a new parameter to BillingClient.startConnection sounds like a good solution. Its a bit more clunky than just using a simple bool, but if the Android folks end up adding more elements to PendingPurchasesParams we could end up in an awkward spot and require another breaking change to remove the bool and replace with a wrapper for the class.

Maybe it’s also time to remove the deprecated method from the package to save confusion? This migration will cause a breaking change in the Android interface anyway with the removal of the ProrationMode enum on the native side. As enablePendingPurchases has been a no-op for a long time already, it would also be a trivial migration for the package users.

This sounds good to me if we are going to be forced to make a breaking change regardless

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
c: proposal A detailed proposal for a change to Flutter p: in_app_purchase Plugin for in-app purchase P2 Important issues not at the top of the work list package flutter/packages repository. See also p: labels. platform-android Android applications specifically team-android Owned by Android platform team triaged-android Triaged by Android platform team
Projects
None yet
9 participants