in_app_update_dialog 0.0.1 copy "in_app_update_dialog: ^0.0.1" to clipboard
in_app_update_dialog: ^0.0.1 copied to clipboard

PlatformAndroid

A Flutter plugin for handling Android In-App Updates. Supports Flexible and Immediate update flows with granular control and callbacks.

example/lib/main.dart

import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:in_app_update_dialog/in_app_update_dialog.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(home: Home());
  }
}

class Home extends StatefulWidget {
  const Home({super.key});

  @override
  State<Home> createState() => _HomeState();
}

class _HomeState extends State<Home> {
  InAppUpdateDialog inAppUpdateDialog = InAppUpdateDialog();

  @override
  void initState() {
    checkAndStartUpdate();
    super.initState();
  }

  Future<void> checkAndStartUpdate() async {
    final updateInfo = await inAppUpdateDialog.checkForUpdate();

    if (updateInfo.updateAvailability == UpdateAvailability.updateAvailable) {
      if (updateInfo.immediateUpdateAllowed) {
        await inAppUpdateDialog.startUpdate(AppUpdateType.immediate);
      }
      if (updateInfo.flexibleUpdateAllowed) {
        inAppUpdateDialog.observeInstallState().listen((state) {
          if (kDebugMode) {
            print(
              "Downloaded: ${state.bytesDownloaded} / ${state.totalBytesToDownload}",
            );
          }

          if (state.installStatus == InstallStatus.downloaded) {
            inAppUpdateDialog.completeUpdate();
          }
        });
        await inAppUpdateDialog.startUpdate(AppUpdateType.flexible);
      }
    }
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold();
  }
}
2
likes
160
points
124
downloads

Publisher

unverified uploader

Weekly Downloads

A Flutter plugin for handling Android In-App Updates. Supports Flexible and Immediate update flows with granular control and callbacks.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

flutter, plugin_platform_interface

More

Packages that depend on in_app_update_dialog

Packages that implement in_app_update_dialog