When using the updater Flutter package in an iOS app on TestFlight, here’s what you need to know:
🔍 Will the updater package show an update prompt in TestFlight?
No, not by default.
Here’s why:
The updater package (and similar update prompt packages) typically check the live version on the App Store by querying the iTunes API (e.g., https://itunes.apple.com/lookup?bundleId=...). However:
- TestFlight builds are not published on the App Store.
- The
updaterpackage cannot detect versions from TestFlight. - Therefore, the
updaterpackage won’t prompt for updates when running a TestFlight version of your app.
✅ Workarounds if you want to test update flows in TestFlight:
- Use a custom version check API
Instead of relying on the App Store version, host your own version JSON file (e.g., on Firebase, S3, or GitHub Pages), and compare it with the app’s current version. This way, you can simulate updates during testing. - Conditionally override version data during testing
You could modify theupdaterbehavior during dev/test builds to simulate the availability of a newer version.
✅ On Production (App Store):
Once your app is live on the App Store, the updater package will work as expected, as it can read the App Store metadata (latest version) and prompt the user accordingly.
Summary
| Environment | Update Prompt via updater? |
|---|---|
| TestFlight | ❌ No |
| App Store | ✅ Yes |
| Custom API | ✅ Yes (if you implement it) |
will it work on android internal testing channel
Great question!
🔍 Will the updater package show an update prompt in Android Internal Testing channel?
No, it won’t work with internal testing either — by default.
Here’s why:
⚠️ Why it doesn’t work with internal testing:
The updater package (like others) usually queries the Google Play Store’s public listing using the app’s package name. But:
- Internal Testing builds are not publicly listed.
- The Play Store API returns no version info for apps that are not live or not in open testing.
- So the updater has no way of knowing there’s a newer version.
✅ What will work?
| Channel | updater works? | Notes |
|---|---|---|
| Internal Testing | ❌ No | No access to update info via Play Store APIs |
| Closed Testing (with opt-in) | ❌ Usually not | Same limitations unless app is also published |
| Open Testing | ❌ Sometimes | May work only if app has public listing |
| Production (Live) | ✅ Yes | Works as intended via Play Store |
✅ Alternatives for testing:
To test update prompts:
- Custom version check endpoint
Host your own JSON file (e.g., Firebase Hosting or GitHub Pages):{ "version": "1.2.0", "url": "https://play.google.com/store/apps/details?id=your.package.name" }Use this in development builds.
- Mock version check logic
During testing, forceupdaterto assume an update is available:if (isInternalTestBuild) { showUpdateDialog(context); } - Wait until release or use Open Testing with public listing
You can useupdaterto prompt updates from the Play Store only after your app is published or listed publicly.
Summary
updater won’t detect updates in Android Internal Testing — just like on iOS TestFlight. For actual update prompts, use:
- A custom API for version checks during testing,
- Or wait until your app is live or publicly listed.
