Wallpaper-Genie/lib/firebase/firebase_remote_config_manager.dart
xuhang-x 4ba6ab3d17 1
2024-07-26 21:31:13 +08:00

36 lines
1.2 KiB
Dart

import 'dart:convert';
import 'dart:ffi';
import 'package:firebase_remote_config/firebase_remote_config.dart';
import 'package:wallpaperx/common/utils/log_print.dart';
import 'package:wallpaperx/common/utils/shared_util.dart';
class FirebaseRemoteConfigManager {
Future init() async {
try {
final remoteConfig = FirebaseRemoteConfig.instance;
await remoteConfig.setConfigSettings(RemoteConfigSettings(
fetchTimeout: const Duration(minutes: 1),
minimumFetchInterval: const Duration(minutes: 1),
));
remoteConfig.onConfigUpdated.listen((event) async {
remoteConfig.fetchAndActivate().then((e) {
setIsOpenSetting(remoteConfig);
});
});
remoteConfig.fetchAndActivate().then((e) {
setIsOpenSetting(remoteConfig);
});
} catch (e) {
LogPrint.d(e);
}
}
setIsOpenSetting(FirebaseRemoteConfig remoteConfig) async {
RemoteConfigValue all = remoteConfig.getValue("isopen");
Map isOpen = jsonDecode(all.asString());
UPCache.getInstance().setData<bool>("showAd", isOpen["isadopen"]);
UPCache.getInstance().setData<String>("version", isOpen["version"]);
}
}