首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用in_app_update迫使用户从play商店更新应用程序

如何使用in_app_update迫使用户从play商店更新应用程序
EN

Stack Overflow用户
提问于 2020-06-01 09:24:20
回答 3查看 21.6K关注 0票数 8

我希望我的应用程序的用户总是有最新的版本。如果他们没有最新版本,它应该首先从play store下载最新版本,如图像所示。

我找到了一个名为升级器的包,但这只是提供了一个提示。如图像所示,它没有链接到play store。

编辑

正如Maadhav Sharma所建议的,现在我正在使用更新包,但它说没有更新可用的

这是我的密码:

代码语言:javascript
复制
....

class _TnPState extends State<TnP> {
  ThemeBloc _themeBloc;
  FirebaseMessaging _firebaseMessaging;
  NotificationBloc _notificationBloc;
  String _test;

  @override
  void initState() {
    _themeBloc = ThemeBloc();
    _firebaseMessaging = FirebaseMessaging();
    _notificationBloc = NotificationBloc();
    _firebaseMessaging.configure(
      onMessage: (notification) async => _notificationBloc.yes(),
      onResume: (notification) async => _notificationBloc.yes(),
      onLaunch: (notification) async => _notificationBloc.yes(),
    );
    checkForUpdate();
    super.initState();
  }

  Future<void> checkForUpdate() async {
    InAppUpdate.checkForUpdate().then((info) {
      String display = info.toString();
      setState((){
        _test = display;
      });
    });
  }

  @override
  Widget build(BuildContext context) {
    return StreamBuilder<AppTheme>(
      stream: _themeBloc.themeStream,
      initialData: AppTheme.Light,
      builder: (context, AsyncSnapshot<AppTheme> snapshot) {
        return MaterialApp(
          title: 'TnP',
          debugShowCheckedModeBanner: false,
          theme: appThemeData[snapshot.data],
          home: _test==null ?
                Container() : 
                InAppUpdateScreen(display: _test),//SplashScreen(),
        );
      },
    );
  }
}

InAppUpdateScreen只显示文本。

游戏商店中的App显示更新可获得:

但是,这个通过playstore安装的老版本的应用程序没有显示任何更新:

知道怎么解决这个问题吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-06-01 09:34:01

有一个你想要的包裹:

更新

Android

这个插件集成了官方的Android APIs,以便在2019年发布的应用程序中执行:https://developer.android.com/guide/app-bundle/in-app-updates

iOS

iOS不提供这样的功能。您可能想研究一下例如https://pub.dev/packages/upgrader。如果在iOS设备上调用上述方法,就会遇到未实现的异常。

谢谢..。

票数 11
EN

Stack Overflow用户

发布于 2022-04-06 20:13:28

这个问题可能不是真正的答案,但如果有人在寻找一个易于集成的解决方案,它既适用于Android、iOS,也适用于语言、框架不可知论。您可以使用https://appupgrade.dev/服务强制更新移动应用程序。您需要在应用程序升级服务中为要更新的应用程序版本创建新版本,并选择是强制使用还是只想让用户知道新版本是可用的。

在此之后,您将需要从您的应用程序调用appupgrade与所需的详细信息,如您的应用程序版本,平台,环境和应用程序名称。API将返回详细信息。这个应用程序是否需要更新。根据响应,您可以在app.You中显示弹出,当应用程序启动或定期检查更新时,可以调用这个API。您甚至可以提供自定义消息。API响应:

请参见响应已强制更新为true。所以在应用程序中通过弹出来处理。

您可以在这里找到完整的用户文档。https://appupgrade.dev/docs

谢谢。

票数 0
EN

Stack Overflow用户

发布于 2022-05-22 09:29:21

您可以使用这个包。

https://pub.dev/packages/upgrader

将整个小部件封装在UpgradeAlert小部件中,如下面的->

代码语言:javascript
复制
Scaffold(
          appBar: AppBar(title: Text('Upgrader Example')),
          body: UpgradeAlert(
            child: Center(child: Text('Your widget is here')),
          )),

如果有更新

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62129216

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档