vergate library

Vergate: a flexible app version gate for Flutter.

Classes

AppVersion
An immutable, comparable representation of an application version.
CallbackSource
A source backed by a plain async function.
FallbackSource
Tries several sources in order and returns the first successful result.
ItunesLookupSource
Reads the newest published iOS version from the App Store.
JsonUrlSource
Loads the configuration from a JSON document served over HTTP(S).
MemoryStorage
A non-persistent storage. Useful for tests or if you do not want snooze and skip to survive an app restart.
SharedPreferencesStorage
The default storage, backed by shared_preferences.
VergateConfig
The complete remote configuration read by Vergate.
VergateController
Coordinates the whole version check flow:
VergateEvaluator
Decides which VergateStatus applies for a given configuration.
VergateForceUpdate
The installed version is no longer supported and must be updated.
VergateGate
Guards the whole app behind the version rules of a VergateController.
VergateMaintenance
Maintenance mode settings.
VergateMaintenanceView
Full-screen page shown while the app is under maintenance.
VergatePlatformConfig
Version rules and store link for a single platform.
VergateResolvedTheme
A VergateTheme where every value is guaranteed to be set.
VergateSoftUpdate
A newer version exists, but the user may continue with the current one.
VergateSource
A provider of the remote VergateConfig.
VergateStatus
The result of comparing the installed app against the remote config.
VergateStorage
A minimal key-value store used to remember the user's choices (snooze and skip) between app launches.
VergateStrings
All user-facing texts of Vergate.
VergateTheme
Visual customization for every Vergate widget.
VergateUnderMaintenance
The app is temporarily unavailable.
VergateUpdateBanner
A compact, non-blocking banner announcing an optional update.
VergateUpdateCard
The card that announces an available update.
VergateUpdateStatus
Base class for statuses where a newer version is available.
VergateUpToDate
The app can be used normally.

Enums

VergatePlatform
Platforms that Vergate can hold separate configuration for.
VergateSoftUpdateStyle
How an optional (soft) update is presented.

Functions

detectVergatePlatform() → VergatePlatform
Maps the running Flutter platform to a VergatePlatform.

Typedefs

VergateStatusBuilder<T extends VergateStatus> = Widget Function(BuildContext context, T status, VergateController controller)
Builds a custom screen for a given status.
VergateStringsBuilder = VergateStrings Function(BuildContext context)
Builds the texts of the built-in UI from a BuildContext.
VergateUrlOpener = Future<bool> Function(Uri url)
Opens url and returns whether it succeeded.
VergateVersionProvider = Future<AppVersion> Function()
Returns the version of the installed app.

Exceptions / Errors

VergateSourceException
Thrown by built-in sources when a configuration cannot be loaded.