Flutter 应用程序中的远程配置在获取时抛出异常

Remote config in Flutter app throws exception on fetch

我有一个 Flutter 应用程序,我正在使用远程配置来检索一些信息,但是代码在获取数据时抛出异常。

这是我设置远程配置的方法。

Future<RemoteConfig> setupRemoteConfig() async {
  final RemoteConfig remoteConfig = await RemoteConfig.instance;
  // Enable developer mode to relax fetch throttling
  remoteConfig.setConfigSettings(RemoteConfigSettings(debugMode: true));
  remoteConfig.setDefaults(<String, dynamic>{
    'categories': "food,drink",
  });
  await remoteConfig.fetch(expiration: const Duration(hours: 5));
  await remoteConfig.activateFetched();
  return remoteConfig;
}

此代码抛出以下异常:

Exception: Unable to fetch remote config

在我的控制台中显示:

W/FirebaseRemoteConfig(10456): IPC failure: 6503:NOT_AVAILABLE

我该如何解决这个问题?

使用 Try Catch

包装您的 fetch() 和 activateFetched() api 调用
try {
    // Using default duration to force fetching from remote server.
    await remoteConfig.fetch(expiration: const Duration(seconds: 0));
    await remoteConfig.activateFetched();
  } on FetchThrottledException catch (exception) {
    // Fetch throttled.
    print(exception);
  } catch (exception) {
    print(
        'Unable to fetch remote config. Cached or default values will be '
        'used');
  }

参见此处的官方示例:https://github.com/flutter/plugins/blob/master/packages/firebase_remote_config/example/lib/main.dart