apptracer_flutter_android 0.1.0
apptracer_flutter_android: ^0.1.0 copied to clipboard
Android implementation of apptracer_flutter, the unofficial Flutter integration with Tracer (apptracer.ru). Forwards Dart errors to the ru.ok.tracer Android SDK.
Changelog #
All notable changes to this package are documented here.
The format follows Keep a Changelog,
and this package adheres to Semantic Versioning.
While the version is below 1.0.0, a breaking change bumps the minor version,
as pub.dev expects.
Unreleased #
0.1.0 - 2026-08-28 #
Added #
-
ru.apptracer.flutter.TracerApplication, anApplicationthat turns on the non-fatal rate limit. Every Dart error this package reports is a non-fatal, and the SDK's hard default is 8 of them per session, so an application that writes no configuration of its own loses errors silently. Naming this class in the manifest replaces writing one by hand; it cannot be a package default, because the SDK reads configuration from theApplicationobject and a plugin is not one. Built throughCrashReportConfiguration.Builderrather than the SDK's inlinebuild {}, which is compiled for JVM target 11 and would impose that on every consumer. -
Initial release.
-
Forwards Dart errors to
ru.ok.tracer:tracer-crash-reportas a syntheticThrowablewhose stack frames are the Dart frames, so Tracer groups by the Dart call site rather than by the identical JNI frames. -
Maps breadcrumbs onto
TracerCrashReport.logand custom keys ontoTracer.setCustomProperty. -
Detects a missing Tracer SDK or a missing
ru.ok.tracerGradle plugin and reports "disabled" with an actionable message instead of crashing. -
The Tracer SDK is a
compileOnlydependency: this package never pins a vendor SDK version into a host build and redistributes nothing.
Changed #
- The non-fatal rate limit is now applied by the package itself, so an
integration no longer has to name
ru.apptracer.flutter.TracerApplicationin its manifest.TracerAutoConfigProvider, aContentProviderordered ahead of the SDK's own byandroid:initOrder, writes the configuration intoTracer.runtimeConfigsbeforeTracer.initreads it;Tracer.initkeeps what it finds there unless theApplicationimplementsHasTracerConfiguration, which preserves the precedence an application expects. Verified on a device: a defaultApplicationnow gets a token bucket of 10 per hour instead of the SDK's one-shot 8, and the example's ownApplicationstill overrides it. Costs one call into a non-public SDK setter, which fails as a caughtNoSuchMethodErrorif a future version removes it — seeTracerAutoConfig. TracerApplicationis now optional, and carries the same list throughTracerAutoConfig.defaultConfigurations(). It stays for applications with anApplicationof their own, whose configuration replaces the package's.
Fixed #
- The README promised two runtime warnings where the plugin emits four: it also
reports a
TracerOptions.appTokenand aTracerOptions.environmentthat were passed but are ignored on Android.