BloomOTA class
Over-The-Air (OTA) update and code-push controller powered by Shorebird.
Manages background update checks, patch downloads, and release channel management.
Example:
await BloomOTA.initialize(channel: 'production');
final hasUpdate = await BloomOTA.checkForUpdate();
if (hasUpdate) {
await BloomOTA.downloadUpdate();
}
Constructors
- BloomOTA()
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Static Properties
- activeChannel → String
-
Active OTA deployment channel.
no setter
- activePatchId → String?
-
Active Shorebird patch identifier string (e.g.
'patch_1', ornullif base release).no setter - availablePatch → BloomOtaPatch?
-
The latest available patch (if downloaded or available).
no setter
- currentPatchNumber → int?
-
Currently active Shorebird patch number (
nullif running vanilla release).no setter - currentStatus → BloomOtaStatus
-
Current OTA status.
no setter
- isAvailable → bool
-
Whether the app is currently running on the Shorebird engine with OTA support.
no setter
-
onStatusChanged
→ Stream<
BloomOtaStatus> -
Stream of OTA status updates.
no setter
Static Methods
-
checkForUpdate(
{Future< BloomOtaPatch?> customChecker()?}) → Future<bool> - Check if a newer OTA code-push patch is available on the active channel.
-
downloadUpdate(
{Future< bool> customDownloader()?}) → Future<bool> - Trigger patch download and staging using the Shorebird engine.
-
initialize(
{String channel = 'production', int? currentPatch}) → Future< void> -
Initializes the OTA runtime with active deployment
channeland reads the installed patch. -
reset(
) → void - Reset internal state (useful in testing).