diff --git a/lib/main.dart b/lib/main.dart
index 40c34d65b2c1e28320b8e2b75f09e5e550d94c3e..6d9f0f10329d5378af1e15ebc75109db16199c35 100644
--- a/lib/main.dart
+++ b/lib/main.dart
@@ -3,7 +3,7 @@ import 'package:jihu_gitlab_app/cn/gitlab/app/icons/custom_icons.dart';
 import 'package:jihu_gitlab_app/cn/gitlab/app/modules/project/project.dart';
 import 'package:jihu_gitlab_app/cn/gitlab/app/modules/trends/trends.dart';
 import 'package:jihu_gitlab_app/cn/gitlab/app/modules/users/application/get_home_page_name_use_case.dart';
-
+import 'package:updater/updater.dart';
 import 'cn/gitlab/app/modules/backlog/backlog.dart';
 
 void main() {
@@ -49,6 +49,67 @@ class _MyHomePageState extends State<MyHomePage> {
   int _currentIndex = 0;
   final List<Widget> _pages = const [Backlog(), Project(), Trends()];
   final _appBarTitles = const ['待办', '项目', '动态'];
+  dynamic version;
+
+  late UpdaterController controller;
+  late Updater updater;
+
+  @override
+  void initState() {
+    super.initState();
+    initializeUpdater();
+    checkUpdate();
+  }
+
+  @override
+  void dispose() {
+    controller.dispose();
+    super.dispose();
+  }
+
+  void initializeUpdater() {
+    controller = UpdaterController(
+      listener: (UpdateStatus status) {
+        debugPrint('Listener: $status');
+      },
+      onChecked: (bool isAvailable) {
+        debugPrint('$isAvailable');
+      },
+      progress: (current, total) {
+        // debugPrint('Progress: $current -- $total');
+      },
+      onError: (status) {
+        debugPrint('Error: $status');
+      },
+    );
+
+    updater = Updater(
+      context: context,
+      delay: const Duration(milliseconds: 300),
+      url: 'https://jihulab.com/api/v4/projects/59893/packages/generic/jihu-gitlab-app/1.0.0/updater.json',
+      titleText: 'Stay with time',
+      // backgroundDownload: false,
+      allowSkip: true,
+      contentText:
+      'Update your app to the latest version to enjoy new feature.',
+      callBack: (UpdateModel model) {
+        debugPrint(model.versionName);
+        debugPrint(model.versionCode.toString());
+        debugPrint(model.contentText);
+      },
+      enableResume: true,
+      controller: controller,
+    );
+  }
+
+  checkUpdate() async {
+    bool isAvailable = await updater.check();
+
+    debugPrint('$isAvailable');
+
+    // controller.pause();
+    // controller.resume();
+  }
 
   @override
   Widget build(BuildContext context) {
diff --git a/pubspec.yaml b/pubspec.yaml
index 240e03ec845263c9653488b8a4da51ec2d6d4e79..c7972a8faad8c5efd17c460335a6c3dd5a5838cd 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -18,6 +18,7 @@ dependencies:
   cupertino_icons: ^1.0.2
   dio: ^4.0.4
   webview_flutter: ^3.0.4
+  updater: ^0.1.5
 
 dev_dependencies:
   flutter_test: