当应用程序不在 Play 商店或应用商店时,如何自动将 Flutter Mobile 应用程序更新到更新版本?

How to automatically update a Flutter Mobile app to newer version when the application is not on play store or app store?

假设我在我的网站上托管了一个 Flutter APK,用户可以在其中下载和安装,我想知道的是,该应用程序在应用程序午餐时检查更新版本的可能性有多大,如果真的有进展显示栏显示从服务器(不是 Play 商店或应用商店)自动更新应用程序? .
这是一个 company 完全符合上述含义:

有什么想法可以实现吗?

我找到了这个包 ota_update 2.4.1,看起来非常有希望从远程托管的 Apk 更新 Flutter 这里是一个例子:

   // IMPORT PACKAGE
    import 'package:ota_update/ota_update.dart';
    
      // RUN OTA UPDATE 
      // START LISTENING FOR DOWNLOAD PROGRESS REPORTING EVENTS
      try {
          //LINK CONTAINS APK OF FLUTTER HELLO WORLD FROM FLUTTER SDK EXAMPLES
          OtaUpdate()
              .execute(
            'https://internal1.4q.sk/flutter_hello_world.apk',
            // OPTIONAL
            destinationFilename: 'flutter_hello_world.apk',
            //OPTIONAL, ANDROID ONLY - ABILITY TO VALIDATE CHECKSUM OF FILE:
            sha256checksum: "d6da28451a1e15cf7a75f2c3f151befad3b80ad0bb232ab15c20897e54f21478",
          ).listen(
            (OtaEvent event) {
              setState(() => currentEvent = event);
            },
          );
      } catch (e) {
          print('Failed to make OTA update. Details: $e');
      }

欢迎提出任何其他解决方案。

您可以在 server-side 上编写一个服务,在启动画面中检查当前版本与旧版本。首先,您必须将当前版本发送到服务器并检查版本上传与上传的旧版本然后是否有新版本return 警报和apk 供下载

如果您仅 Android 需要这个,您可以使用 in_app_update 库。

如果您也需要 iOS 的功能,上述库建议 upgrader 做一些类似但不相同的事情。

ota_update(as mentioned by @Asmoun) looks good to me for this use case, alternative would be to download APK using something like flutter_downloader and start intent for install using android_intent.

此外,为了获取最新版本代码或下载URL,我建议您使用firebase_remote_config