52 lines
1.3 KiB
Markdown
52 lines
1.3 KiB
Markdown
# 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.
|