如何检查应用程序更新代码是否正常工作

问题描述 投票:0回答:3

我在 Playstore 上有一个实时应用程序,我想在 flutter 中使用 in_app_update 包来检查应用程序更新并更新用户手机上的应用程序。我有以下代码,它在后台运行应用程序更新并显示一个微调器,直到更新完成。在发布这个新代码之前,我想确定它是否有效。换句话说,我如何测试 if

 InAppUpdate.performImmediateUpdate()

有更新时可以使用吗?

有谁知道在将其发布到 Playstore 之前如何确定该代码是否有效?

import 'package:in_app_update/in_app_update.dart';

Future<void> main() async {
  runApp(MyApp());
}

class MyApp extends StatefulWidget {

  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {

  var _isLoading;
  var appUpdate;
  void didChangeDependencies() async {
    setState(() {
      _isLoading = true;
      });
    await InAppUpdate.checkForUpdate().then((info) {
      print('Starting app updates'); 
       AppUpdateInfo _updateInfo = info;
      appUpdate = _updateInfo.updateAvailable;
      print('App update aye? ' + appUpdate.toString());
      if(appUpdate)
       InAppUpdate.performImmediateUpdate()
                            .catchError((e) => print(e.toString()));
     print('Finishing app updates'); 
    }).catchError((e) {
      print(e.toString());
    });
    super.didChangeDependencies();
    print('isloadign to false'); 
      setState(() {
        // Get image url
      _isLoading = false;
      });
  }

  @override
  Widget build(BuildContext context) {
    return !(_isLoading)?MultiProvider(
      providers: [
       ChangeNotifierProvider(
          create: (_) => Auth(),
        ),
        child: Consumer<Auth>(builder: (ctx, auth, _) => 
          MaterialApp(     
        title: 'MyApp', 
       home: ProductDetailScreen(),
        routes: {
          ProductDetailScreen.routeName:(ctx) => ProductDetailScreen(),
        }
      ),
        ) 
    ):Center(child:Loading());
  }
}
flutter dart in-app-update
3个回答
1
投票

您可以尝试在 Google Play 上的

closed testing track
功能中发布版本。因此,它将被签名并发布到 Google Play,但仅可供选定的用户使用。您可以创建一个用户,将自己添加到封闭测试轨道中。

至于另一个观点 - 这个插件包装了官方的Android API,因此我建议阅读Android文档以检查是否有一些关于测试它的信息。


0
投票

请参考此链接:https://developer.android.com/guide/playcore/in-app-updates/test

您可以使用内部应用程序共享功能来测试它。


-1
投票

我处理此类问题的方法是,

  • 使
    pubspec.yaml
    文件中的版本低于
    Playstore
    AppStore
    上的版本。这样,应用程序就会检测到有已发布的更新,并尝试从您的构建应用程序运行更新功能。

比如说,如果在

PlayStore
AppStore
上您的应用程序版本是
1.0.0
,那么在您的
pubspec.yaml
文件中,您将恢复为低于
1.0.0
的任何版本,例如
0.0.7
。 瞧!

© www.soinside.com 2019 - 2024. All rights reserved.