siren 0.0.4+3 icon indicating copy to clipboard operation
siren: ^0.0.4+3 copied to clipboard

An easy way to notify your user of version updates on Android and iOS.

Siren #

An easy way to listen for and react to Version updates for your Flutter Android and iOS apps.

Features #

A Version number typically has the format x.y.z+b where b is short for small bugfix updates. This version number as a String is handled by the Version class. It also overrides equality (by simply comparing the version String values) as well as methods like isHigherThan and isLowerThan to compare version instances.

Version {
  final String version;
  late final int x;
  late final int y;
  late final int z;
  late final int bugfix;

  ...
}

The real magic happens in the Siren class. Wherever you want to use it, simply create an instance (you should not do this in your build method - DUH!) right then and there. You can then access the fields getCurrentVersion(...) and getNewVersion(...) or by calling the mapPolicy function and handling every update case there. In case there is no update mapPolicy simply returns null. Each callback provides a Future

const siren = Siren();

siren.mapPolicy(
  onXUpdate: (openStore, oldV, newV) => showAlertDialog(...),
  onYUpdate: (openStore, _, __) => showAlertDialog(...),
  onZUpdate: (openStore, _, __) => showAlertDialog(...),
  onBugfixUpdate: (_, __, ___) {},
);

Additional information #

The issue I had with similar plugins is, that I wanted to display my custom Widgets for each individual case with different functionality. The policy I was looking to implement was the following:

  • x part changes -> depricate older version and force user to update!
  • y part changes -> notify user of update but give them the option to update at a later point in time.
  • z part changes -> don't even tell the user about it. If they update (or have autoupdate active) nice otherwise we just wait for a bigger update.
  • bugfix part changes -> same as z.
2
likes
130
pub points
0%
popularity

Publisher

unverified uploader

An easy way to notify your user of version updates on Android and iOS.

Repository (GitHub)

Documentation

API reference

License

Icon for licenses.BSD-3-Clause (LICENSE)

Dependencies

flutter, html, http, package_info, url_launcher, web_scraper

More

Packages that depend on siren