diff --git a/lib/initialization.dart b/lib/initialization.dart index 808d3220..f579c7cf 100644 --- a/lib/initialization.dart +++ b/lib/initialization.dart @@ -1,4 +1,5 @@ import 'dart:developer'; +import 'dart:io'; import 'package:app_tracking_transparency/app_tracking_transparency.dart'; import 'package:firebase_core/firebase_core.dart'; @@ -13,24 +14,33 @@ import 'package:hub/flutter_flow/flutter_flow_theme.dart'; import 'package:hub/flutter_flow/flutter_flow_util.dart'; import 'package:hub/flutter_flow/nav/nav.dart'; -Future initializeApp() async { +Future initializeBindings() async { + // await _initializeTracking(); WidgetsFlutterBinding.ensureInitialized(); - await _initializeTracking(); + await _initializeAppTrackingTransparency(); await StorageHelper().init(); - await _initializeFirebase(); await _initializeNotificationService(); - _initializeUrlStrategy(); - _initializeSystemSettings(); + await _initializeUrlStrategy(); + await _initializeSystemSettings(); await _initializeFlutterFlow(); await _initializeNav(); } -Future _initializeTracking() async { - log('Requesting tracking authorization...'); - await AppTrackingTransparency.requestTrackingAuthorization(); - - print('Tracking authorization requested'); +Future _initializeAppTrackingTransparency() async { + if (Platform.isIOS) { + final status = await AppTrackingTransparency.trackingAuthorizationStatus; + if (status == TrackingStatus.notDetermined) { + await Future.delayed(const Duration(seconds: 2)); + final request = + await AppTrackingTransparency.requestTrackingAuthorization(); + if (request == TrackingStatus.authorized) { + log('Tracking authorized'); + } else { + log('Tracking not authorized'); + } + } + } } Future _initializeFirebase() async { @@ -45,8 +55,8 @@ Future _initializeNotificationService() async { log('Notification Service initialized'); } -void _initializeUrlStrategy() { - log('Initializing URL Strategy...'); +Future _initializeUrlStrategy() async { + print('Initializing URL Strategy...'); setUrlStrategy(PathUrlStrategy()); log('URL Strategy initialized'); } diff --git a/lib/main.dart b/lib/main.dart index e5e2cf09..50069c3f 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -4,6 +4,7 @@ import 'dart:async'; import 'dart:developer'; import 'dart:io'; +import 'package:app_tracking_transparency/app_tracking_transparency.dart'; import 'package:firebase_crashlytics/firebase_crashlytics.dart'; import 'package:firebase_messaging/firebase_messaging.dart'; import 'package:flutter/gestures.dart'; @@ -31,7 +32,7 @@ class CustomScrollBehavior extends MaterialScrollBehavior { } void main() async { - await initializeApp(); + await initializeBindings(); runApp(const ProviderScope(child: App())); FirebaseMessaging.onBackgroundMessage(_backgroundHandlerMessage); } @@ -147,7 +148,7 @@ class _AppState extends State { void initState() { super.initState(); - FirebaseCrashlytics.instance.setCrashlyticsCollectionEnabled(true); + // FirebaseCrashlytics.instance.setCrashlyticsCollectionEnabled(true); _appStateNotifier = AppStateNotifier.instance; _router = createRouter(_appStateNotifier); Future.delayed( diff --git a/pubspec.yaml b/pubspec.yaml index 28d1d316..d30605b5 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -4,7 +4,7 @@ description: . # Descrição do projeto (adicione mais detalhes se necessário publish_to: "none" # Destino de publicação -version: 1.4.0+27 +version: 1.4.0+28 # Restrições de versão do SDK Dart environment: diff --git a/test/features/module/module_test.dart b/test/features/module/module_test.dart index 430d9e9f..6047230c 100644 --- a/test/features/module/module_test.dart +++ b/test/features/module/module_test.dart @@ -29,7 +29,7 @@ void main() { IntegrationTestWidgetsFlutterBinding.ensureInitialized(); setUpAll(() async { - await initializeApp(); + await initializeBindings(); }); group('Test', () {