firebase_remote_update 0.3.0
firebase_remote_update: ^0.3.0 copied to clipboard
Force/optional update gate for Flutter apps, backed by Firebase Remote Config. A thin adapter over app_update_gate, guarded by a real store-availability check (Play In-App Update on Android, iTunes lo [...]
0.3.0 #
Rebuilt as a thin adapter over app_update_gate — the source-agnostic
core extracted from this package. The public API (AppUpdateConfig,
AppUpdateService, UpdateGate, RemoteConfigKeys) is unchanged; this
package now only supplies the Firebase Remote Config policy source
(FirebaseRemoteConfigPolicySource).
- New: the core's types are re-exported —
AppUpdateController(observable status, periodic re-checks, manual checks),ForcePresentation.onNextNavigation+UpdateGateNavigatorObserver,UpdatePolicySource/HttpUpdatePolicySource, andVersionScheme. - Breaking (edge cases only):
- Custom
StoreAvailabilityCheckerimplementations:checknow takes named parameters({AppVersion? minRequired, AppVersion? currentVersion}). - A bare integer in a Remote Config version value (e.g.
"2") is now rejected and fails open; use a dotted version ("2.0.0"). This prevents build codes from being misread as huge semantic versions.
- Custom
0.2.1 #
- Fix:
AppVersion.tryParsenow finds the dotted version anywhere in the string and ignores decorations around it:1.4.9 (149),149 1.4.9,v1.4.9,release 1.4.9 build 149,1.4.9-betaall parse as1.4.9. The App Store lookup API returns the hand-written marketing version verbatim; when a developer typed the build number into it, the old parser returnednull, the store gate failed open, and forced updates silently stopped on iOS. The same applied to Remote Config values with a suffix. - Safety: a string with two or more dotted versions (ambiguous) or with no
parseable version still returns
null, so callers keep failing open and a bad string can never force or lock users.
0.2.0 #
- New:
UpdateGateModeenum withnonBlocking(default) andblockingmodes. - Breaking:
UpdateGatenow defaults toUpdateGateMode.nonBlocking— the app renders immediately and the update policy is evaluated in the background. If the result is forced, the gate swaps toforcedBuilderafter evaluation completes. - To keep the old behavior (hide the app until the decision is resolved), pass
mode: UpdateGateMode.blocking. loadingBuilderis now only used inblockingmode. InnonBlockingmode it is ignored.- Optional updates and
onDecisionbehavior are unchanged.
0.1.0 #
- Initial release.
- Force/optional update gate backed by Firebase Remote Config.
- Store-availability check: Play In-App Update (Android) and iTunes lookup (iOS).
- Fails-open design: any error results in no forced update.
- Emergency override flag to bypass the store check.
UpdateGatewidget for drop-in integration.