initialize static method

void initialize({
  1. required String appID,
  2. GlobalKey<NavigatorState>? navigatorKey,
  3. BuildContext? context,
  4. bool useProduction = true,
  5. UpdateDialogConfig? dialogConfig,
})

Initialize AppHubUpgrader with global parameters

Call this once in your app's main function or initialization code. After initialization, you can create instances without passing these parameters.

Example:

void main() async {
  WidgetsFlutterBinding.ensureInitialized();

  // Initialize AppHubUpgrader
  AppHubUpgrader.initialize(
    appID: 'your-app-id',
    navigatorKey: MyApp.navigatorKey,
    useProduction: true,
    dialogConfig: UpdateDialogConfig(
      title: 'Update Available',
      updateButtonText: 'Update Now',
    ),
  );

  runApp(MyApp());
}

Then create instances easily:

final upgrader = AppHubUpgrader(); // Uses initialized values
await upgrader.checkForUpdate();

Implementation

static void initialize({
  required String appID,
  GlobalKey<NavigatorState>? navigatorKey,
  BuildContext? context,
  bool useProduction = true,
  UpdateDialogConfig? dialogConfig,
}) {
  _initializedAppID = appID;
  _initializedNavigatorKey = navigatorKey;
  _initializedUseProduction = useProduction;
  _initializedDialogConfig = dialogConfig;
  _isInitialized = true;

  AppLogger.info(
    'AppHubUpgrader initialized - appID: $appID, useProduction: $useProduction',
    'AppHubUpgrader',
  );
}