36 lines
1.2 KiB
Dart
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"]);
|
|
}
|
|
}
|