1

我想通过华为应用市场在中国大陆发布一个应用。应用被拒绝,出现以下错误:“我们发现启动应用/登录华为账号/使用华为移动服务2.5.3版本之前的手机支付时无法正常调用升级提示. ".

该应用程序是在 Flutter 中开发的。我没有找到有关如何解决此错误的任何指南,因此我尝试遵循 Android 指南。所以,我在 Flutter 的 MainActivity.kt 中实现了这个原生代码:

MethodChannel(flutterEngine.dartExecutor.binaryMessenger, HUAWEI_CHANNEL).setMethodCallHandler { call, result ->
    if(call.method == "initJos") {
        val appsClient = JosApps.getJosAppsClient(this)
        appsClient.init()
        Log.i("JOS HUAWEI", "init success")
        result.success(true)
    }
    else if(call.method == "checkUpdate") {
        val client = JosApps.getAppUpdateClient(this)
        client.checkAppUpdate(this, object : CheckUpdateCallBack {
            override fun onUpdateInfo(intent: Intent) {
                val info: Serializable? = intent.getSerializableExtra(UpdateKey.INFO)
                if (info is ApkUpgradeInfo) {
                    client.showUpdateDialog(this@MainActivity, info, false)
                    result.success(true)
                }
                else {
                    result.success(false)
                }
            }

            override fun onMarketInstallInfo(intent: Intent?) {}
            override fun onMarketStoreError(i: Int) {}
            override fun onUpdateStoreError(i: Int) {}
        })
    }
    else {
        result.notImplemented()
    }
}

方法“initJos”指的是:https ://developer.huawei.com/consumer/en/doc/development/AppGallery-connect-Guides/appgallerykit-app-init-0000001055596854 方法“checkUpdate”指的是:https ://developer.huawei.com/consumer/en/doc/development/AppGallery-connect-Guides/appgallerykit-app-update-0000001055118286

然后,我在这个 Dart 类中链接了这些方法:

class HuaweiNativeApis {
  static const platform = MethodChannel('it.ppndrd.taskbot/huawei');

  Future<void> initJos() async {
    try {
      await platform.invokeMethod('initJos');
    } on PlatformException catch (e) {
      print(e);
    }
  }

  Future<void> checkUpdate() async {
    try {
      await platform.invokeMethod('checkUpdate');
    } on PlatformException catch (e) {
      print(e);
    }
  }
}

在 main.dart 中,在加载过程中我调用了这两种方法:

HuaweiNativeApis hna = HuaweiNativeApis();
await hna.initJos();
await hna.checkUpdate();

但是,错误仍然存​​在,这里是审核团队发给我的视频。 在此处输入图像描述

4

0 回答 0