-
Notifications
You must be signed in to change notification settings - Fork 29.7k
Closed
flutter/plugins
#3877Labels
P3Issues that are less important to the Flutter projectIssues that are less important to the Flutter projectp: in_app_purchasePlugin for in-app purchasePlugin for in-app purchasepackageflutter/packages repository. See also p: labels.flutter/packages repository. See also p: labels.
Description
Use case
Migrate the "in_app_purchase" package to the federated plugin architecture. This would result in the following benefits:
- Makes it easier to add support for additional platforms (there is already a concrete use case for macOS, but Linux and Windows are also potential candidates);
- The federated architecture also makes it easier to write automated tests and guard the API;
- Confirms to the architecture of most other Flutter plugins, making it easier for developers to understand the project layout and contribute to the project.
Proposal
To migrate the in_app_purchase package to federated architecture we should take the following steps:
- Move the
in_app_purchaseinto its own subdirectory ("in_app_purchase/in_app_purchase"); - Create the
in_app_purchase_platform_interfacepackage;- Copy the
LICENSEfile from thein_app_purchasepackage; - Add a
CHANGELOG.mdfile; - Define a
pubspec.yamlfile; - Create a
README.mdfile; - Define the platform interface in
in_app_purchase_platform.dart; - Implement the default implementation in
method_channel_in_app_purchase.dart;
- Copy the
- Refactor package
in_app_purchaseto use the in_app_purchase platform interface;
Metadata
Metadata
Assignees
Labels
P3Issues that are less important to the Flutter projectIssues that are less important to the Flutter projectp: in_app_purchasePlugin for in-app purchasePlugin for in-app purchasepackageflutter/packages repository. See also p: labels.flutter/packages repository. See also p: labels.