【发布时间】:2020-09-22 16:54:55
【问题描述】:
我创建了一个服务来从 Firebase 远程配置中获取配置:
const String _ShowDataBanner = "show_data_banner";
const String _ShowMainBanner = "show_main_banner";
const String _ShowMainColorBanner = "show_main_color_banner";
class RemoteConfigService {
final RemoteConfig _remoteConfig;
final defaults = <String, dynamic>{
_ShowMainBanner: false,
_ShowMainColorBanner: "0xffcccccc"
};
RemoteConfigService({RemoteConfig remoteConfig})
: _remoteConfig = remoteConfig;
static RemoteConfigService _instance;
static Future<RemoteConfigService> getInstance() async {
if (_instance == null) {
_instance = RemoteConfigService(
remoteConfig: await RemoteConfig.instance,
);
}
return _instance;
}
String get showMainBanner => _remoteConfig.getString(_ShowDataBanner);
Future initialise() async {
try {
await _remoteConfig.setDefaults(defaults);
await _fetchAndActivate();
} on FetchThrottledException catch (e) {
print("Remote config fetch throttled: $e");
} catch (e) {
print(
"unable to fetch remote config. Catched or default values will be used");
}
}
Future _fetchAndActivate() async {
// await _remoteConfig.fetch();
await _remoteConfig.fetch(expiration: Duration(seconds: 0));
_remoteConfig
.activateFetched()
.then((value) => print("---------> ${value.toString()}"));
}
}
当我从 Firebase 控制台更改配置时,我必须停止/启动应用程序以更新我的配置。当我从控制台更改配置时,是否可以立即从远程客户端接收新配置?
【问题讨论】:
-
This documentation page 可能会显示需要什么才能实现您的需要。
标签: flutter firebase-remote-config