appTracking in init
This commit is contained in:
parent
a9a62a4f9e
commit
a94f0dd977
|
@ -16,8 +16,8 @@ import 'package:hub/flutter_flow/nav/nav.dart';
|
||||||
|
|
||||||
Future<void> initializeApp() async {
|
Future<void> initializeApp() async {
|
||||||
// await _initializeTracking();
|
// await _initializeTracking();
|
||||||
// WidgetsFlutterBinding.ensureInitialized()
|
WidgetsFlutterBinding.ensureInitialized()
|
||||||
// .addPostFrameCallback((_) => _initializeAppTrackingTransparency());
|
.addPostFrameCallback((_) => _initializeAppTrackingTransparency());
|
||||||
|
|
||||||
await StorageHelper().init();
|
await StorageHelper().init();
|
||||||
|
|
||||||
|
@ -45,39 +45,6 @@ void _initializeAppTrackingTransparency() async {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Future<void> showCustomTrackingDialog(BuildContext context) async {
|
|
||||||
// final String title = FFLocalizations.of(context).getVariableText(
|
|
||||||
// enText: 'Privacy',
|
|
||||||
// ptText: 'Privacidade',
|
|
||||||
// );
|
|
||||||
// final String content = FFLocalizations.of(context).getVariableText(
|
|
||||||
// enText:
|
|
||||||
// 'We care about your privacy and data security. We need your permission to use your data for crash reporting and diagnostics. '
|
|
||||||
// 'This helps us improve the app and provide a better user experience.\n\nYou can change your choice anytime in the app settings.',
|
|
||||||
// ptText:
|
|
||||||
// 'Prezamos pela sua privacidade e segurança dos seus dados. Precisamos da sua permissão para usar seus dados para relatórios de falhas e diagnósticos.'
|
|
||||||
// 'Isso nos ajuda a melhorar o aplicativo e fornecer uma melhor experiência ao usuário.\n\nVocê pode alterar sua escolha a qualquer momento nas configurações do aplicativo.',
|
|
||||||
// );
|
|
||||||
const String title = 'Privacy';
|
|
||||||
const String content =
|
|
||||||
'We care about your privacy and data security. We need your permission to use your data for crash reporting and diagnostics. '
|
|
||||||
'This helps us improve the app and provide a better user experience.\n\nYou can change your choice anytime in the app settings.';
|
|
||||||
|
|
||||||
return await showDialog<void>(
|
|
||||||
context: context,
|
|
||||||
builder: (context) => AlertDialog(
|
|
||||||
title: Text(title),
|
|
||||||
content: Text(content),
|
|
||||||
actions: [
|
|
||||||
TextButton(
|
|
||||||
onPressed: () => Navigator.pop(context),
|
|
||||||
child: const Text('Continue'),
|
|
||||||
),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
Future<void> _initializeFirebase() async {
|
Future<void> _initializeFirebase() async {
|
||||||
print('Initializing Firebase...');
|
print('Initializing Firebase...');
|
||||||
await Firebase.initializeApp();
|
await Firebase.initializeApp();
|
||||||
|
|
|
@ -22,7 +22,6 @@ import 'initialization.dart';
|
||||||
final GlobalKey<NavigatorState> navigatorKey = GlobalKey<NavigatorState>();
|
final GlobalKey<NavigatorState> navigatorKey = GlobalKey<NavigatorState>();
|
||||||
|
|
||||||
void main() async {
|
void main() async {
|
||||||
WidgetsFlutterBinding.ensureInitialized();
|
|
||||||
await initializeApp();
|
await initializeApp();
|
||||||
runApp(const ProviderScope(child: App()));
|
runApp(const ProviderScope(child: App()));
|
||||||
FirebaseMessaging.onBackgroundMessage(_backgroundHandlerMessage);
|
FirebaseMessaging.onBackgroundMessage(_backgroundHandlerMessage);
|
||||||
|
@ -170,8 +169,7 @@ class _AppState extends State<App> {
|
||||||
@override
|
@override
|
||||||
void initState() {
|
void initState() {
|
||||||
super.initState();
|
super.initState();
|
||||||
WidgetsBinding.instance.addPostFrameCallback(
|
|
||||||
(_) => _initializeAppTrackingTransparency(context));
|
|
||||||
// FirebaseCrashlytics.instance.setCrashlyticsCollectionEnabled(true);
|
// FirebaseCrashlytics.instance.setCrashlyticsCollectionEnabled(true);
|
||||||
_appStateNotifier = AppStateNotifier.instance;
|
_appStateNotifier = AppStateNotifier.instance;
|
||||||
_router = createRouter(_appStateNotifier);
|
_router = createRouter(_appStateNotifier);
|
||||||
|
@ -187,56 +185,6 @@ class _AppState extends State<App> {
|
||||||
DeepLinkService().ensureInitialization();
|
DeepLinkService().ensureInitialization();
|
||||||
}
|
}
|
||||||
|
|
||||||
void _initializeAppTrackingTransparency(BuildContext context) async {
|
|
||||||
if (Platform.isIOS) {
|
|
||||||
final status = await AppTrackingTransparency.trackingAuthorizationStatus;
|
|
||||||
if (status == TrackingStatus.notDetermined) {
|
|
||||||
// await showCustomTrackingDialog(context);
|
|
||||||
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> showCustomTrackingDialog(BuildContext context) async {
|
|
||||||
// final String title = FFLocalizations.of(context).getVariableText(
|
|
||||||
// enText: 'Privacy',
|
|
||||||
// ptText: 'Privacidade',
|
|
||||||
// );
|
|
||||||
// final String content = FFLocalizations.of(context).getVariableText(
|
|
||||||
// enText:
|
|
||||||
// 'We care about your privacy and data security. We need your permission to use your data for crash reporting and diagnostics. '
|
|
||||||
// 'This helps us improve the app and provide a better user experience.\n\nYou can change your choice anytime in the app settings.',
|
|
||||||
// ptText:
|
|
||||||
// 'Prezamos pela sua privacidade e segurança dos seus dados. Precisamos da sua permissão para usar seus dados para relatórios de falhas e diagnósticos.'
|
|
||||||
// 'Isso nos ajuda a melhorar o aplicativo e fornecer uma melhor experiência ao usuário.\n\nVocê pode alterar sua escolha a qualquer momento nas configurações do aplicativo.',
|
|
||||||
// );
|
|
||||||
const String title = 'Privacy';
|
|
||||||
const String content =
|
|
||||||
'We care about your privacy and data security. We need your permission to use your data for crash reporting and diagnostics. '
|
|
||||||
'This helps us improve the app and provide a better user experience.\n\nYou can change your choice anytime in the app settings.';
|
|
||||||
|
|
||||||
return await showDialog<void>(
|
|
||||||
context: context,
|
|
||||||
builder: (context) => AlertDialog(
|
|
||||||
title: Text(title),
|
|
||||||
content: Text(content),
|
|
||||||
actions: [
|
|
||||||
TextButton(
|
|
||||||
onPressed: () => Navigator.pop(context),
|
|
||||||
child: const Text('Continue'),
|
|
||||||
),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void dispose() {
|
void dispose() {
|
||||||
super.dispose();
|
super.dispose();
|
||||||
|
|
Loading…
Reference in New Issue