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

52 lines
1.3 KiB
Dart

// Author: fengshengxiong
// Date: 2024/6/26
// Description: 应用程序跟踪透明度管理器
import 'dart:async';
import 'dart:io';
import 'package:app_tracking_transparency/app_tracking_transparency.dart';
import 'package:wallpaperx/common/utils/log_print.dart';
class AppTrackingTransparencyManager {
AppTrackingTransparencyManager._();
static final AppTrackingTransparencyManager _instance = AppTrackingTransparencyManager._();
factory AppTrackingTransparencyManager() {
return _instance;
}
Timer? _timer;
/// 请求跟踪授权
Future<void> requestATT() async {
if (Platform.isIOS) {
final TrackingStatus status = await AppTrackingTransparency.trackingAuthorizationStatus;
if (status == TrackingStatus.notDetermined) {
if (_timer != null && _timer!.isActive) {
final TrackingStatus status = await AppTrackingTransparency.requestTrackingAuthorization();
LogPrint.d('跟踪授权状态: $status');
} else {
_startTimer();
}
} else {
_stopTimer();
}
}
}
/// 开始定时器
void _startTimer() {
_timer = Timer.periodic(const Duration(seconds: 3), (Timer t) {
requestATT();
});
}
/// 停止定时器
void _stopTimer() {
_timer?.cancel();
_timer = null;
}
}