Wallpaper-Genie/lib/global/network_connectivity_service.dart
Fson 23e35c5bd8 1.增加埋点
2.调整广告开关配置逻辑
2024-08-15 09:52:49 +08:00

51 lines
1.6 KiB
Dart

// Author: fengshengxiong
// Date: 2024/6/26
// Description: 网络连接服务
import 'dart:async';
import 'package:connectivity_plus/connectivity_plus.dart';
import 'package:get/get.dart';
import 'package:wallpaperx/ads/interstitial_ad_manage.dart';
import 'package:wallpaperx/common/utils/log_print.dart';
import 'package:wallpaperx/common/utils/shared_util.dart';
import 'package:wallpaperx/firebase/firebase_remote_config_manager.dart';
import 'package:wallpaperx/page/launch/launch_controller.dart';
class NetworkConnectivityService extends GetxService {
StreamSubscription<List<ConnectivityResult>>? subscription;
var isShowNetworkDialog = false;
@override
void onInit() {
super.onInit();
subscription = Connectivity().onConnectivityChanged.listen((List<ConnectivityResult> result) async {
LogPrint.d('当前网络连接类型:$result');
if (result.contains(ConnectivityResult.none)) {
if (Get.isRegistered<LaunchController>() && !isShowNetworkDialog) {
LaunchController.to.openNetworkDialog();
isShowNetworkDialog = true;
}
} else {
if (Get.isRegistered<LaunchController>()) {
if (isShowNetworkDialog) {
Get.back();
}
LaunchController.to.startTimer();
}
bool adSwitch = UPCache.getInstance().get<bool>('adSwitch') ?? false;
if (adSwitch) {
InterstitialAdManager().loadAllAd();
}
await FirebaseRemoteConfigManager.init();
}
});
}
@override
void onClose() {
subscription?.cancel();
super.onClose();
}
}