Anonymous
Приложение Flutter - Newrelic Mobile, не вводящие в систему и проблемы с ошибками
Сообщение
Anonymous » 18 апр 2025, 17:30
Код: Выделить всё
void main() async {
EndPoints.configure();
print(AnsiStyles.red('This is red!'));
print('......env.......${EndPoints.env}........${EndPoints.baseUrl}');
var appToken = "";
if (Platform.isIOS) {
appToken = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-NRMA';
} else if (Platform.isAndroid) {
appToken = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-NRMA';
}
Config config = Config(
accessToken: appToken,
analyticsEventEnabled: true,
webViewInstrumentation: true,
networkErrorRequestEnabled: true,
networkRequestEnabled: true,
crashReportingEnabled: true,
interactionTracingEnabled: true,
httpResponseBodyCaptureEnabled: true,
loggingEnabled: true,
printStatementAsEventsEnabled: true,
httpInstrumentationEnabled: true);
BindingBase.debugZoneErrorsAreFatal = false;
WidgetsFlutterBinding.ensureInitialized();
SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle(
systemNavigationBarColor: Colors.white,
statusBarColor: Colors.white.withOpacity(0.5),
statusBarBrightness: Brightness.dark,
statusBarIconBrightness: Brightness.dark,
));
SystemChrome.setEnabledSystemUIMode(SystemUiMode.manual,
overlays: [SystemUiOverlay.bottom, SystemUiOverlay.top]);
SystemChrome.setPreferredOrientations([
DeviceOrientation.portraitUp,
DeviceOrientation.portraitDown,
]);
await ChargeStationsDatabaseHelper.initDatabase();
FirebaseOptions androidOptions = FirebaseOptions(
apiKey: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
appId: "1:XXXXXXXXXXXX:android:XXXXXXXXXXXXXXXXXXXXX",
messagingSenderId: "XXXXXXXXXXXX",
projectId: "XXXXXXXXXXXX");
FirebaseOptions iosOptions = FirebaseOptions(
apiKey: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
appId: "1:XXXXXXXXXXXX:ios:XXXXXXXXXXXXXXXXXXXXX",
messagingSenderId: "XXXXXXXXXXXX",
projectId: "XXXXXXXXXXXX");
await Firebase.initializeApp(
options: Platform.isAndroid ? androidOptions : iosOptions,
);
await FirebaseApi().initPushNotifications();
FirebaseAnalyticsObserver(analytics: FirebaseAnalytics.instance);
FirebaseAnalytics.instance.setAnalyticsCollectionEnabled(true);
FirebaseCrashlytics.instance.setCrashlyticsCollectionEnabled(true);
FlutterError.onError = FirebaseCrashlytics.instance.recordFlutterError;
NewrelicMobile.instance.start(config, () {
runZonedGuarded(() async {
// Push notification code commented out
/*
await PushNotificationService
.requestPushNotificationPermission()
.then((value) async {
await PushNotificationService
.registerDevice();
});
await FirebaseApi()
.initNotifications();
*/
// Sentry code commented out
runApp(initalApp());
}, (error, stackTrace) {
FirebaseCrashlytics.instance.recordError(error, stackTrace);
});
});
}
< /code>
Переплетки для размены были инициализированы в другой зоне, чем теперь
используется. Это, вероятно, приведет к путанице и ошибкам, поскольку любая конфигурация
, конкретная зона, будет непоследовательно использовать конфигурацию
исходной зоны инициализации связывания или этой зоны, основанной на
с трудными в педаговых факторах, такими как зона была активна, когда был установлен конкретный обратный вызов
. Важно использовать ту же зону, когда
вызовет убедитесь, что инициализируется < /code> в привязке, как при вызове runapp < /code>
позже. Чтобы сделать это предупреждение фатальным, установите
bindingbase.debugzoneerrorsarefatal true до того, как привязки будут
инициализированы (т.е. как первое утверждение в void main () {} < /code>). < /P>
Когда исключение было добавлено, это был стек:
#0 Bindingbase.de. (Пакет: Flutter/src/foundation/binding.dart: 495: 29) Binding.dart: 495
#1 BindingBase.debugcheckzone (Пакет: Flutter/Src/Foundation/Binding.dart: 500: 6) Binding.dart: 500
#2 runApp (Package: Flutter/src/wargets/writgets. Binding.Dart: 1212
#3 Main .. (Пакет: ev /main.dart: 189: 7) main.dart: 189
#8 Main. (Пакет: ev /main.dart: 160: 5) main.dart: 160
#9 newrelicmobile.start. (Пакет: newrelic_mobile /newrelic_mobile.dart: 42: 13)
newrelic_mobile.dart:42 (ELIDED 4 рамки
From Dart: Async) < /p>
< /blockquote>
NewrelicMobile.instance.log(
LogLevel.ERROR,
eventName,
);
await NewrelicMobile.instance.recordCustomEvent(
"analytics",
eventName: eventName,
eventAttributes: params,
);
Также эта функция ничего не регистрирует в моей новолетной панели.>
Подробнее здесь:
https://stackoverflow.com/questions/795 ... ror-issues
1744986613
Anonymous
[code] void main() async { EndPoints.configure(); print(AnsiStyles.red('This is red!')); print('......env.......${EndPoints.env}........${EndPoints.baseUrl}'); var appToken = ""; if (Platform.isIOS) { appToken = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-NRMA'; } else if (Platform.isAndroid) { appToken = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-NRMA'; } Config config = Config( accessToken: appToken, analyticsEventEnabled: true, webViewInstrumentation: true, networkErrorRequestEnabled: true, networkRequestEnabled: true, crashReportingEnabled: true, interactionTracingEnabled: true, httpResponseBodyCaptureEnabled: true, loggingEnabled: true, printStatementAsEventsEnabled: true, httpInstrumentationEnabled: true); BindingBase.debugZoneErrorsAreFatal = false; WidgetsFlutterBinding.ensureInitialized(); SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle( systemNavigationBarColor: Colors.white, statusBarColor: Colors.white.withOpacity(0.5), statusBarBrightness: Brightness.dark, statusBarIconBrightness: Brightness.dark, )); SystemChrome.setEnabledSystemUIMode(SystemUiMode.manual, overlays: [SystemUiOverlay.bottom, SystemUiOverlay.top]); SystemChrome.setPreferredOrientations([ DeviceOrientation.portraitUp, DeviceOrientation.portraitDown, ]); await ChargeStationsDatabaseHelper.initDatabase(); FirebaseOptions androidOptions = FirebaseOptions( apiKey: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", appId: "1:XXXXXXXXXXXX:android:XXXXXXXXXXXXXXXXXXXXX", messagingSenderId: "XXXXXXXXXXXX", projectId: "XXXXXXXXXXXX"); FirebaseOptions iosOptions = FirebaseOptions( apiKey: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", appId: "1:XXXXXXXXXXXX:ios:XXXXXXXXXXXXXXXXXXXXX", messagingSenderId: "XXXXXXXXXXXX", projectId: "XXXXXXXXXXXX"); await Firebase.initializeApp( options: Platform.isAndroid ? androidOptions : iosOptions, ); await FirebaseApi().initPushNotifications(); FirebaseAnalyticsObserver(analytics: FirebaseAnalytics.instance); FirebaseAnalytics.instance.setAnalyticsCollectionEnabled(true); FirebaseCrashlytics.instance.setCrashlyticsCollectionEnabled(true); FlutterError.onError = FirebaseCrashlytics.instance.recordFlutterError; NewrelicMobile.instance.start(config, () { runZonedGuarded(() async { // Push notification code commented out /* await PushNotificationService .requestPushNotificationPermission() .then((value) async { await PushNotificationService .registerDevice(); }); await FirebaseApi() .initNotifications(); */ // Sentry code commented out runApp(initalApp()); }, (error, stackTrace) { FirebaseCrashlytics.instance.recordError(error, stackTrace); }); }); } < /code> Переплетки для размены были инициализированы в другой зоне, чем теперь используется. Это, вероятно, приведет к путанице и ошибкам, поскольку любая конфигурация , конкретная зона, будет непоследовательно использовать конфигурацию исходной зоны инициализации связывания или этой зоны, основанной на с трудными в педаговых факторах, такими как зона была активна, когда был установлен конкретный обратный вызов . Важно использовать ту же зону, когда вызовет убедитесь, что инициализируется < /code> в привязке, как при вызове runapp < /code> позже. Чтобы сделать это предупреждение фатальным, установите bindingbase.debugzoneerrorsarefatal true до того, как привязки будут инициализированы (т.е. как первое утверждение в void main () {} < /code>). < /P> Когда исключение было добавлено, это был стек: #0 Bindingbase.de. (Пакет: Flutter/src/foundation/binding.dart: 495: 29) Binding.dart: 495 #1 BindingBase.debugcheckzone (Пакет: Flutter/Src/Foundation/Binding.dart: 500: 6) Binding.dart: 500 #2 runApp (Package: Flutter/src/wargets/writgets. Binding.Dart: 1212 #3 Main .. (Пакет: ev /main.dart: 189: 7) main.dart: 189 #8 Main. (Пакет: ev /main.dart: 160: 5) main.dart: 160 #9 newrelicmobile.start. (Пакет: newrelic_mobile /newrelic_mobile.dart: 42: 13) newrelic_mobile.dart:42 (ELIDED 4 рамки From Dart: Async) < /p> < /blockquote> NewrelicMobile.instance.log( LogLevel.ERROR, eventName, ); await NewrelicMobile.instance.recordCustomEvent( "analytics", eventName: eventName, eventAttributes: params, ); [/code] Также эта функция ничего не регистрирует в моей новолетной панели.> Подробнее здесь: [url]https://stackoverflow.com/questions/79579746/flutter-app-newrelic-mobile-not-logging-and-zone-error-issues[/url]