패키지, 저장소 및 앱 카테고리 검색

updat 표지
패키지 상세v1.4.0

updat

Updat는 애플리케이션의 업데이트를 처리하는 간단하고 신뢰할 수 있는 플러터 네이티브 업데이터입니다.

AndroidiOSmacOSWindowsLinux
30일 다운로드
3.1천
좋아요
39
Pub 점수
160

패키지 설치

flutter pub add updat

패키지 개요

공개 정보를 바탕으로 생성한 선택 가이드입니다.

Updat는 여러 플랫폼에서 애플리케이션 업데이트를 관리하기 위해 설계된 간단하고 신뢰할 수 있는 Flutter 네이티브 패키지입니다. Flutter 앱 내에서 업데이트 확인, 다운로드 및 적용 과정을 원활하게 단순화합니다. 통합의 용이성을 고려해 개발되었으며, Android, iOS, macOS, Windows, Linux를 지원하여 강력한 업데이트 메커니즘을 필요로 하는 크로스플랫폼 앱에 적합합니다. 백그라운드 다운로드, 버전 비교, 업데이트 후 자동 재시작을 처리하여 사용자 경험을 원활하게 유지합니다. 가벼운 설계와 명확한 API로 모든 수준의 개발자가 쉽게 사용할 수 있습니다.

사용 사례

  • 크로스 플랫폼 플러터 앱에서 앱 업데이트 자동화
  • 데스크톱 및 모바일에서의 조용한 백그라운드 업데이트 처리
  • 업데이트 설치 후 자동 재시작 활성화
  • 시작 시 또는 예약된 간격에서 업데이트 확인 관리
  • 실패한 업데이트 시도 중 보조 메커니즘 제공

주요 기능

  • 크로스 플랫폼 지원 (Android, iOS, macOS, Windows, Linux)
  • 최소한의 부가 코드로 간단한 통합
  • 백그라운드 업데이트 다운로드 및 설치
  • 업데이트 후 자동 앱 재시작
  • 버전 비교 및 업데이트 감지

적합한 대상

  • 크로스 플랫폼 플러터 앱을 개발하는 개발자
  • 신뢰할 수 있는 자동 업데이트 기능이 필요한 팀
  • 데스크톱 및 모바일에서 원활한 업데이트 경험을 필요로 하는 앱
  • 업데이트 시 사용자 개입을 최소화하는 것이 중요한 프로젝트
  • 기술 지식이 제한된 환경에 있는 사용자를 대상으로 하는 애플리케이션

고려 사항

  • 업데이트 매니페스트를 위해 적절한 서버 측 설정이 필요합니다
  • 업데이트 롤백 처리를 위해 사용자 정의 로직이 필요할 수 있습니다
  • 복잡한 업데이트 워크플로우를 필요로 하는 앱에는 적합하지 않습니다
  • 추가 코드 없이 업데이트 UI/UX에 대한 제한된 사용자 정의
  • 서버에 호스팅된 외부 업데이트 메타데이터에 의존합니다

원본 README

연결된 소스 저장소의 README 원문 스냅샷입니다. 최신 내용은 저장소에서 확인하세요.

Updat - The simple-to-use, flutter-based desktop update package

Logo

Updat is a simple-to-use reliable flutter-native updater that handles your application's updates. All you need is a place to host your files and a place to check for the latest version.

License Pub.dev Github Issues Github Wiki

Demo

demo

Installing

To get started simply type flutter pub add updat in your terminal.

🎉 Done, It's that simple.

Getting Started

Integration with your app requires just a few lines of code, add the following widget wherever you want your updat widget to be:

UpdatWidget(
  currentVersion: "1.0.0",
  getLatestVersion: () async {
    // Here you should fetch the latest version. It must be semantic versioning for update detection to work properly.
    return "1.0.1";
  },
  getBinaryUrl: (latestVersion) async {
    // Here you provide the link to the binary the user should download. Make sure it is the correct one for the platform!
    return "https://github.com/latest/release/bin.exe";
  },
  // Lastly, enter your app name so we know what to call your files.
  appName: "Updat Example",
),

That should get you up and running in just a few seconds ⚡️.

or use the UpdatWindowManager, and let updat handle everything on autopilot. Just place it right after your MaterialApp.

Want to learn how to integrate Updat in your app?

Integration Instructions

Configuration

Available UpdatWidget arguments
Parameter Type Value Default
currentVersion String Required. Must be a semantic version. This is the current package's version. N/A
getLatestVersion Future<String> Required. Must be a semantic version. This should request the latest version to the server N/A
getBinaryUrl Future<String> Required. This should provide the link download the binary for a certain app version. Arguments: latestVersion N/A
appNme String Required. The Application's name. It is used to name the binaries when downloading. N/A
getChangelog Future<String> This will render a plain text view of the changelog. N/A
callback void Function(UpdatStatus) A callback that is called when the UpdatStatus gets updated. N/A
controller UpdatController Optional controller for programmatic update checks and actions. N/A
getDownloadFileLocation Future<File> Choose where to download the update. N/A
updateChipBuilder Widget Function(...) Overrides the default update chip. N/A
updateDialogBuilder Widget Function(...) Overrides the default update dialog. N/A
openOnDownload bool Whether Updat should open the installer automatically once it has been downloaded. true
closeOnInstall bool Whether Updat should close the application automatically once it has been downloaded. false
Theming

Logo

Updat is extremely easy to theme. We also use updateChipBuilder and updateDialogBuilder internally to design our widgets, so you have the same customizability we do. We provide a couple of themes to get you started.

To change the theme simply add the desired theme to the builder and you're set.

Chips
  • defaultChip which is an elevatedButton that only shows when an update is available. Shown by default.

  • defaultChipWithCheckFor which is an elevatedButton that shows under all conditions, allowing to recheck for updates.

  • defaultChipWithSilentDownload which is an elevatedButton that only shows when an update is downloaded and ready to install.

  • flatChip which is an textButton that only shows when an update is available

  • flatChipWithCheckFor which is an textButton that shows under all condition, allowing to recheck for updates.

  • flatChipWithSilentDownload which is an textButton that only shows when an update is downloaded and ready to install.

  • floatingExtendedChip which is a compact version of the dialog, which is a bit bigger and grabs user's attention more easily.

  • floatingExtendedChipWithSilentDownload which is a compact version of the dialog, which is a bit bigger and grabs user's attention more easily, and only shows when the update is ready to be installed.

Dialogs
  • defaultDialog which is the default, M2 and M3 dialog that shows by default.
Programmatic update checks

Use an UpdatController to re-check for updates after the initial check completes — for example when your backend signals a new release via push notification or websocket:

final updatController = UpdatController();

UpdatWindowManager(
  controller: updatController,
  // ...
)

// Later, when your backend alerts the user:
await updatController.checkForUpdate(notifyIfAvailable: true);

The *WithCheckFor chip themes also expose a UI button to recheck manually.

Advanced Usage

If you need to send additional HTTP headers when downloading a release asset, you may define your headers by setting the downloadReleaseHeaders property of UpdatGlobalOptions, you should probably do this in the main function of your code.

UpdatGlobalOptions.downloadReleaseHeaders = {
  "Authorization": "Bearer gh_pat_1234567889abcdefghijklm",
}

카테고리

의존성

의존성 목록 8 개

소스 저장소

이 패키지를 사용하는 프로젝트

아직 데이터가 없습니다.