A subscription integration joins store-side products, application identity, native billing support, and a runtime entitlement model. The earlier Flutter note collected setup and sandbox observations around an older purchase plugin.
Product and platform configuration
The source used a naming convention combining a package ID, billing period, and suffix. That was an application convention, not a universal store requirement. Its dependency note was incomplete:
# in app purchase
flutter_inapp_purchase:
git:
url: https://github.com/nhancv/flutter_inapp_purchase.git
in_app_purchase: ^0.3.4+16
shared_preferences: ^0.5.12+4
The Android permission and keep rules were:
<uses-permission android:name="com.android.vending.BILLING" />
#In app Purchase
-keep class com.amazon.** {*;}
-keep class com.dooboolab.** { *; }
-keep class com.android.vending.billing.**
-dontwarn com.amazon.**
-keepattributes *Annotation*
Store-side setup and test identities
The earlier checklist covered agreements, banking/tax setup, native capabilities, product creation, and tester configuration:
+ Create new app
+ You need to upload apk with billing permission and set up merchant account before creating in-app product.
+ Monetize -> Products -> Subscriptions -> Create subscription -> Active
- Your APK must be uploaded to the Play Console (drafts are no longer supported)
- Add license testers in the Play Console: https://support.google.com/googleplay/android-developer/answer/6062777
+ Play Console -> Settigns -> License testing -> Add tester gmail address + License response = RESPONSE_NORMALLY -> Save
- Have testers join the alpha/beta testing group (if available)
- Wait the app store update before testing: 2-4 days or more (ex: in covid19, maybe up to 2wks) to live on App Store in the first time (you will get the result email after reviewed. Remember: review apply for production and internal testing as well), then 1-2 hours to live
The old blanket advice to reuse production release signing in debug builds is not retained. Device/simulator support, approved test identities, signing, installation source, and product status depend on the platform’s actual testing mode.
Trials and renewals
A trial offer, a purchase callback, a renewal, and an entitlement granted by the application are separate events. The old fixed sandbox-renewal count is not repeated as a current rule. Use the primary Play Billing test guide and StoreKit testing guide for the chosen environment. No purchase, renewal, signing change, or account configuration was performed.