如何使用 in_app_update 强制用户从 Flutter 中的 Play 商店更新应用
Posted
技术标签:
【中文标题】如何使用 in_app_update 强制用户从 Flutter 中的 Play 商店更新应用【英文标题】:How to force users to update app from play store in Flutter using in_app_update 【发布时间】:2020-09-19 13:50:09 【问题描述】:我希望我的应用的用户始终拥有最新版本。如果他们没有最新版本,它应该首先从 Play 商店下载最新版本,如图所示。
我找到了一个名为Upgrader 的包,但这只是提示。如图所示,它没有链接到 Play 商店。
编辑
正如 Maadhav Sharma 所建议的,我现在正在使用 in_app_update 软件包,但它显示 没有可用的更新。
这是我的代码:
....
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
只显示文本。
应用商店显示更新可用:
但是通过 Playstore 安装的旧版本应用没有显示更新:
知道如何解决这个问题吗?
【问题讨论】:
我不知道如何,但第二天它开始工作了!我猜可能是 Playstore 出了问题。 你能分享一下它的完整代码吗?我也对强制更新应用程序感到困扰。它没有给我任何可用的更新。 除非您在我的应用和游戏部分看到可用更新,否则它不会检测到更新。 【参考方案1】:有一个你想要的包: https://pub.dev/packages/in_app_update
Android 此插件集成了官方 android API 以在 2019 年发布的应用更新中执行:https://developer.android.com/guide/app-bundle/in-app-updatesiOS ios 不提供这样的功能。您可能想研究例如https://pub.dev/packages/upgrader。如果您在 iOS 设备上调用上述方法,您将遇到未实现的异常。
谢谢...
【讨论】:
感谢您的建议,但现在我在使用 in_app_update 时遇到了问题。我已经编辑了这个问题。你能帮忙吗? 我不知道,但可能是由于内部测试版。无论如何acc。对我来说,你应该将这个问题作为插件回购中的一个问题提出。以上是关于如何使用 in_app_update 强制用户从 Flutter 中的 Play 商店更新应用的主要内容,如果未能解决你的问题,请参考以下文章
iPhone-X - 如何强制用户滑动两次主页指示器进入主屏幕