| # telemetry |
| |
| A library to facilitate reporting analytics and crash reports. |
| |
| ## Analytics |
| |
| 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. |
| |
| ## Crash reporting |
| |
| To use the crash reporting functionality, import `crash_reporting.dart`, and |
| create a new `CrashReportSender` instance: |
| |
| ```dart |
| 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. |