Merge pull request #98 from FRE-Informatica/transparency

Transparency
This commit is contained in:
Ivan Antunes 2025-02-19 11:31:54 -03:00 committed by GitHub
commit 1b785ab995
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 27 additions and 14 deletions

View File

@ -1,3 +1,6 @@
import 'dart:developer';
import 'dart:io';
import 'package:app_tracking_transparency/app_tracking_transparency.dart'; import 'package:app_tracking_transparency/app_tracking_transparency.dart';
import 'package:firebase_core/firebase_core.dart'; import 'package:firebase_core/firebase_core.dart';
import 'package:firebase_crashlytics/firebase_crashlytics.dart'; import 'package:firebase_crashlytics/firebase_crashlytics.dart';
@ -11,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/flutter_flow_util.dart';
import 'package:hub/flutter_flow/nav/nav.dart'; import 'package:hub/flutter_flow/nav/nav.dart';
Future<void> initializeApp() async { Future<void> initializeBindings() async {
// await _initializeTracking();
WidgetsFlutterBinding.ensureInitialized(); WidgetsFlutterBinding.ensureInitialized();
await _initializeTracking(); await _initializeAppTrackingTransparency();
await StorageHelper().init(); await StorageHelper().init();
await _initializeFirebase(); await _initializeFirebase();
await _initializeNotificationService(); await _initializeNotificationService();
_initializeUrlStrategy(); await _initializeUrlStrategy();
_initializeSystemSettings(); await _initializeSystemSettings();
await _initializeFlutterFlow(); await _initializeFlutterFlow();
await _initializeNav(); await _initializeNav();
} }
Future<void> _initializeTracking() async { Future<void> _initializeAppTrackingTransparency() async {
print('Requesting tracking authorization...'); if (Platform.isIOS) {
await AppTrackingTransparency.requestTrackingAuthorization(); final status = await AppTrackingTransparency.trackingAuthorizationStatus;
if (status == TrackingStatus.notDetermined) {
print('Tracking authorization requested'); 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<void> _initializeFirebase() async { Future<void> _initializeFirebase() async {
@ -43,7 +55,7 @@ Future<void> _initializeNotificationService() async {
print('Notification Service initialized'); print('Notification Service initialized');
} }
void _initializeUrlStrategy() { Future<void> _initializeUrlStrategy() async {
print('Initializing URL Strategy...'); print('Initializing URL Strategy...');
setUrlStrategy(PathUrlStrategy()); setUrlStrategy(PathUrlStrategy());
print('URL Strategy initialized'); print('URL Strategy initialized');

View File

@ -4,6 +4,7 @@ import 'dart:async';
import 'dart:developer'; import 'dart:developer';
import 'dart:io'; import 'dart:io';
import 'package:app_tracking_transparency/app_tracking_transparency.dart';
import 'package:firebase_crashlytics/firebase_crashlytics.dart'; import 'package:firebase_crashlytics/firebase_crashlytics.dart';
import 'package:firebase_messaging/firebase_messaging.dart'; import 'package:firebase_messaging/firebase_messaging.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
@ -21,7 +22,7 @@ import 'initialization.dart';
final GlobalKey<NavigatorState> navigatorKey = GlobalKey<NavigatorState>(); final GlobalKey<NavigatorState> navigatorKey = GlobalKey<NavigatorState>();
void main() async { void main() async {
await initializeApp(); await initializeBindings();
runApp(const ProviderScope(child: App())); runApp(const ProviderScope(child: App()));
FirebaseMessaging.onBackgroundMessage(_backgroundHandlerMessage); FirebaseMessaging.onBackgroundMessage(_backgroundHandlerMessage);
} }
@ -169,7 +170,7 @@ class _AppState extends State<App> {
void initState() { void initState() {
super.initState(); super.initState();
FirebaseCrashlytics.instance.setCrashlyticsCollectionEnabled(true); // FirebaseCrashlytics.instance.setCrashlyticsCollectionEnabled(true);
_appStateNotifier = AppStateNotifier.instance; _appStateNotifier = AppStateNotifier.instance;
_router = createRouter(_appStateNotifier); _router = createRouter(_appStateNotifier);
Future.delayed( Future.delayed(

View File

@ -29,7 +29,7 @@ void main() {
IntegrationTestWidgetsFlutterBinding.ensureInitialized(); IntegrationTestWidgetsFlutterBinding.ensureInitialized();
setUpAll(() async { setUpAll(() async {
await initializeApp(); await initializeBindings();
}); });
group('Test', () { group('Test', () {