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("showAd", isOpen["isadopen"]); UPCache.getInstance().setData("version", isOpen["version"]); } }