@@ -60,6 +60,7 @@ class MyApp extends StatefulWidget {
60
60
61
61
class _MyAppState extends State <MyApp > {
62
62
late Future <void > _initializeFlutterFireFuture;
63
+ bool _crashlyticsEnabled = true ;
63
64
64
65
Future <void > _testAsyncErrorOnInit () async {
65
66
Future <void >.delayed (const Duration (seconds: 2 ), () {
@@ -73,11 +74,14 @@ class _MyAppState extends State<MyApp> {
73
74
if (_kTestingCrashlytics) {
74
75
// Force enable crashlytics collection enabled if we're testing it.
75
76
await FirebaseCrashlytics .instance.setCrashlyticsCollectionEnabled (true );
77
+ _crashlyticsEnabled = true ;
76
78
} else {
77
79
// Else only enable it in non-debug builds.
78
80
// You could additionally extend this to allow users to opt-in.
81
+ const enabled = ! kDebugMode;
79
82
await FirebaseCrashlytics .instance
80
- .setCrashlyticsCollectionEnabled (! kDebugMode);
83
+ .setCrashlyticsCollectionEnabled (enabled);
84
+ _crashlyticsEnabled = enabled;
81
85
}
82
86
83
87
if (_kShouldTestAsyncErrorOnInit) {
@@ -111,6 +115,24 @@ class _MyAppState extends State<MyApp> {
111
115
return Center (
112
116
child: Column (
113
117
children: < Widget > [
118
+ ElevatedButton (
119
+ onPressed: () async {
120
+ final newValue = ! _crashlyticsEnabled;
121
+ await FirebaseCrashlytics .instance
122
+ .setCrashlyticsCollectionEnabled (newValue);
123
+ setState (() {
124
+ _crashlyticsEnabled = newValue;
125
+ });
126
+ ScaffoldMessenger .of (context).showSnackBar (SnackBar (
127
+ content: Text (
128
+ 'Crashlytics reporting has been ${newValue ? 'enabled' : 'disabled' }.' ),
129
+ duration: const Duration (seconds: 3 ),
130
+ ));
131
+ },
132
+ child: Text (_crashlyticsEnabled
133
+ ? 'Disable Crashlytics'
134
+ : 'Enable Crashlytics' ),
135
+ ),
114
136
ElevatedButton (
115
137
onPressed: () {
116
138
FirebaseCrashlytics .instance
0 commit comments