flutter_store_kit 3.0.1
flutter_store_kit: ^3.0.1 copied to clipboard
Simplify in-app purchases in Flutter apps with `FlutterStoreKit`. Manage initialization, purchases, and subscriptions with ease. Ideal for premium content and subscriptions.
FlutterStoreKit Library #
FlutterStoreKit is a Flutter library that provides functionality for managing in-app purchases and subscriptions.
This documentation outlines how to use the FlutterStoreKit library in your Flutter app.
π οΈ Platform Configuration #
iOS Configuration #
Configure Info.plist (iOS 14+)
Add the following to your ios/Runner/Info.plist:
<key>LSApplicationQueriesSchemes</key>
<array>
<string>itms-apps</string>
</array>
Android Configuration #
Update build.gradle
Ensure your android/app/build.gradle has the minimum SDK version:
android {
compileSdkVersion 34
defaultConfig {
minSdkVersion 21 // Required minimum
targetSdkVersion 34
}
}
Enable ProGuard Rules (if using ProGuard)
Add to your android/app/proguard-rules.pro:
# In-App Purchase
-keep class com.amazon.** {*;}
-keep class dev.hyo.** { *; }
-keep class com.android.vending.billing.**
-dontwarn com.amazon.**
-keepattributes *Annotation*
βοΈ 1. Initialize the Store #
Initialize the store with your product IDs:
void main() {
StoreKit.instance.initialize([
'subscription_id1',
'subscription_id2',
'subscription_id3',
]);
}
π 2. Add Listeners #
Add Pro Status Changed Listener #
Add a listener for pro status changes:
void _onProStatusChanged() {
// Update UI based on purchase status
}
StoreKit.instance.addProStatusChangedListener(_onProStatusChanged);
Remove Pro Status Changed Listener #
Remove a listener for pro status changes:
StoreKit.instance.removeProStatusChangedListener(_onProStatusChanged);
Add Error Listener #
Add a listener for errors:
void _onError(String error) {
// Handle error
print("Error: $error");
}
StoreKit.instance.addErrorListener(_onError);
Remove Error Listener #
Remove a listener for errors:
StoreKit.instance.removeErrorListener(_onError);
π³ 3. Purchases #
Restore Past Purchases #
Restore past purchases for the user:
await StoreKit.instance.restorePastPurchases(context);
Purchase a Subscription #
Purchase a subscription item:
await StoreKit.instance.purchaseSubscription(subscriptionItem);
Open Subscription Management Page #
Open the subscription management page for the user:
await StoreKit.instance.manageSubscription();
Check if Product is Purchased #
Check if a product has been purchased:
bool purchased = StoreKit.instance.isProductPurchased('product_id');
Get Purchased Product IDs #
Get a list of purchased product IDs:
List<String> purchasedIds = StoreKit.instance.getPurchasedProductIds();
π§Ή 4. Disposal #
Dispose of the store instance when no longer needed:
StoreKit.instance.dispose();
π License #
This project is licensed under the MIT License β see the LICENSE file for details.