start method

Future<void> start(
  1. Config config,
  2. Function runApp
)

Implementation

Future<void> start(Config config, Function runApp) async {
  runZonedGuarded(() async {
    WidgetsFlutterBinding.ensureInitialized();
    FlutterError.onError = NewrelicMobile.onError;
    await NewrelicMobile.instance.startAgent(config);
    runApp();
    await NewrelicMobile.instance
        .setAttribute("Flutter Agent Version", "0.0.1");
  }, (Object error, StackTrace stackTrace) {
    NewrelicMobile.instance.recordError(error, stackTrace);
    FlutterError.presentError(
        FlutterErrorDetails(exception: error, stack: stackTrace));
  }, zoneSpecification: ZoneSpecification(print: (self, parent, zone, line) {
    if (config.printStatementAsEventsEnabled) {
      recordCustomEvent("Mobile Dart Console Events",
          eventAttributes: {"message": line});
    }
    parent.print(zone, line);
  }));
}