A library to facilitate reporting analytics and crash reports.
This library is designed to allow all Dart SDK tools to easily send analytics information and crash reports. The tools share a common setting to configure sending analytics data. To use this library for a specific tool:
import 'package:telemetry/telemetry.dart'; import 'package:usage/usage.dart'; main() async { final String myAppTrackingID = ...; final String myAppName = ...; Analytics analytics = createAnalyticsInstance(myAppTrackingID, myAppName); ... analytics.sendScreenView('home'); ... await analytics.waitForLastPing(); }
The analytics object reads from the correct user configuration file automatically without any additional configuration. Analytics will not be sent if the user has opted-out.
To use the crash reporting functionality, import crash_reporting.dart
, and create a new CrashReportSender
instance:
import 'package:telemetry/crash_reporting.dart'; main() { Analytics analytics = ...; CrashReportSender sender = new CrashReportSender(analytics); try { ... } catch (e, st) { sender.sendReport(e, st); } }
Crash reports will only be sent if the cooresponding [Analytics] object is configured to send analytics.