GardenMobile & interfaces

An earlier Flutter subscription-testing notebook

Product identity, native billing configuration, and sandbox evidence from a historical purchase integration.

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.

← Back to the garden