Skip to content

[in_app_purchase] Remove JSON code from Android wrapper objects #146202

Closed

Description

@stuartmorgan-g

The original Android implementation of IAP created the Dart wrapper objects, which are the public API for clients to interact directly with the Android SDK (rather than the higher-level abstraction of the app-facing package, which isn't always sufficient), directly from platform channel JSON serialization. The platform communication has since been converted to Pigeon, but since the JSON methods were public methods on public classes, we couldn't remove them without a breaking change, so they were deprecated instead.

We should, either the next time we are doing a breaking change to the Android implementation anyway, or just as a breaking change to do the cleanup at some point (I would not expect the vast majority of clients to actually be broken by the change, since they would have to have decided to directly used the JSON for some reason, so it should be pretty low-cost).

Activity

  1. added
    packageflutter/packages repository. See also p: labels.
    c: tech-debtTechnical debt, code quality, testing, etc.
    p: requires breaking changeA change that should be batched into the next breaking change to this package
    team-androidOwned by Android platform team
    on Apr 3, 2024
  2. added
    P2Important issues not at the top of the work list
    triaged-androidTriaged by Android platform team
    on Apr 11, 2024
  3. RobertOdrowaz commented on Feb 14, 2025

    @RobertOdrowaz
    Contributor

    The JSON serialization has been removed from the Android implementation as part of Google Play Billing library update #8218

  4. github-actions commented on Feb 28, 2025

    @github-actions

    This thread has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar issue, please open a new bug, including the output of flutter doctor -v and a minimal reproduction of the issue.

  5. locked as resolved and limited conversation to collaborators on Feb 28, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Important issues not at the top of the work listc: tech-debtTechnical debt, code quality, testing, etc.p: in_app_purchasePlugin for in-app purchasep: requires breaking changeA change that should be batched into the next breaking change to this packagepackageflutter/packages repository. See also p: labels.r: solvedIssue is closed as solvedteam-androidOwned by Android platform teamtriaged-androidTriaged by Android platform team

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions