checkAndShowUpdate static method

Future<void> checkAndShowUpdate({
  1. required BuildContext context,
  2. required String collectionName,
  3. required String packageName,
  4. required String currentVersion,
  5. required int currentBuildNumber,
  6. VoidCallback? onUpdateComplete,
  7. VoidCallback? onNoUpdate,
  8. dynamic onError(
    1. dynamic error
    )?,
})

Check for updates and automatically show bottom sheet if available

Example:

FirebaseGithubUpdaterHelper.checkAndShowUpdate(
  context: context,
  collectionName: 'app_releases',
  packageName: 'com.example.app',
  currentVersion: '1.0.0',
  currentBuildNumber: 1,
);

Implementation

static Future<void> checkAndShowUpdate({
  required BuildContext context,
  required String collectionName,
  required String packageName,
  required String currentVersion,
  required int currentBuildNumber,
  VoidCallback? onUpdateComplete,
  VoidCallback? onNoUpdate,
  Function(dynamic error)? onError,
}) async {
  try {
    final updater = FirebaseUpdaterService(
      collectionName: collectionName,
      currentVersion: currentVersion,
      currentBuildNumber: currentBuildNumber,
      packageName: packageName,
    );

    final update = await updater.checkForUpdate();

    if (update != null) {
      if (context.mounted) {
        await UpdateBottomSheet.show(
          context,
          update,
          onUpdateComplete: onUpdateComplete,
        );
      }
    } else {
      onNoUpdate?.call();
    }
  } catch (e) {
    onError?.call(e);
  }
}