What's new in May 2022, and what happened to the plugins around In-App Purchases on Flutter in the last few months?
Plugin in_app_purchase 3.0.2 Release
The Flutter team has released version 3.0.2 of the official in_app_purchase plugin. This is a breaking change for all Apps that still uses the older version 2.0.2.
But why do they release a breaking change so soon after the version 2? The team accidentally did not include all changes in version 2.0.0. Here are the changes:
The most significant change occurs on the restorePurchases functionality. Whenever you restore a purchase, the plugin will now always emit a list to the purchaseStream. If there is nothing to restore, the stream will contain an empty list now. This behaviour was in v2 already on Android and now also applies to iOS.
Everything else remains the same.
Here is the Plugin on pub.dev
Plugin linkfive_purchases 2.0.2 Release
LinkFive updated the plugin to the latest Flutter version 2.10.4 and added extended Subscription User Management to the newest version. In addition, LinkFive is preparing its plugin to integrate Flutter Web Subscriptions and had to implement some breaking changes for this.
As of version 2, the core of LinkFive are Plans. A Plan is either active or inactive, it does not matter if the plan was purchased from Google Play Store, from Apple App Store, from Web or from the Blockchain via Bitcoin or other currencies. Each plan belongs to a subscription group and a subscription tier. The app receives the active Plan, including its group / tier, and can enable the underlying features, including the information in which store the purchase was made.
It's now also possible to manually enable an active plan to certain user with the new User Management.
Each App user now also receives a unique LinkFive user ID, which is unique for each user device. The Unique LinkFive ID can be combined with the App's User ID and enables features such as Multi-Platform active subscriptions.
You can find the plugin on pub.dev.
Plugin in_app_purchases_paywall_ui 0.6.0 Release
The new version 0.6.0 updates the theme to the latest Flutter version and mainly uses the colorScheme to colour the UI. The plugin also removes the option to pass a theme to the widget and uses Theme.of(context) now. If you're using the plugin, make sure to update your global theme or wrap the plugin in a Theme(..) widget.
The plugin itself is a UI widget with various designs for your Paywall. There is also an easy to use LinkFive implementation.
Here is the plugin on pub.dev.