unified_analytics 7.0.0 copy "unified_analytics: ^7.0.0" to clipboard
unified_analytics: ^7.0.0 copied to clipboard

A package for logging analytics for all Dart and Flutter related tooling to Google Analytics.

7.0.0 #

  • Added a required parameter screen to the Event.devtoolsEvent constructor.
  • Added an optional parameter additionalMetrics to the Event.devtoolsEvent constructor.
  • Added CustomMetrics class for unified_analytics clients to define custom event metrics.
  • Removed parameters uiDurationMicros, rasterDurationMicros, shaderCompilationDurationMicros, traceEventCount, cpuSampleCount, cpuStackDepth, heapDiffObjectsBefore, heapDiffObjectsAfter, heapObjectsTotal, rootSetCount, rowCount, inspectorTreeControllerId, androidAppId, iosBundleId from the Event.devtoolsEvent constructor.

6.1.5 #

  • Remove any data entries with a null value in the Event.exception constructor.

6.1.4 #

  • Fix formatting and remove dependency on package:intl.
  • Remove direct usage of package:path in favor of package:file.
  • Added androidAppId and iosBundleId to the Event.devtoolsEvent constructor.

6.1.3 #

  • Require Dart 3.4.
  • Added isWasm parameter to the Event.devtoolsEvent constructor.
  • Added an optional parameter data to the Event.exception constructor.

6.1.2 #

  • Avoid opening large telemetry log files to prevent out of memory errors.

6.1.1 #

  • Fixed bug where calling Analytics.send could result in a FileSystemException when unable to write to a log file.

6.1.0 #

  • Added new event constructor Event.devtoolsEvent for the single devtools event with a new enum value DashEvent.devtoolsEvent

6.0.0 #

  • Consolidate Session functionality into UserProperty to prevent race condition crash where session logic crashed before initializing UserProperty
  • Get rid of late variables throughout implementation class, AnalyticsImpl
  • Any error events (Event.analyticsException) encountered within package will be sent when invoking Analytics.close; replacing ErrorHandler functionality
  • Exposing new method for FakeAnalytics.sendPendingErrorEvents to send error events on command
  • Added Event.fromJson static method to generate instance of Event from JSON
  • Remove unused parameters measurementId and apiSecret from the Analytics.test constructor
  • Remove Analytics.test factory constructor in favor of Analytics.fake static method to return a FakeAnalytics instance
  • Remove FakeAnalytics default constructor in favor of Analytics.fake

5.8.8 #

  • Bug fix rewrite the other call site for the session file

5.8.7 #

  • Bug fix to rewrite the last_ping key into the session json file

5.8.6 #

  • Refactored session handler class to use the last modified timestamp as the last ping value to prevent writing to file with each send
  • Bumping intl package to 0.19.0 to fix version solving issue with flutter_tools

5.8.5 #

  • Fix late initialization error for Analytics.userProperty bug

5.8.4 #

  • Exporting all enums from enums.dart through lib/testing.dart

5.8.3 #

  • Fix bug when parsing session json file

5.8.2 #

  • Added new event Event.analyticsException to track internal errors for this package
  • Redirecting the Analytics.test factory to return an instance of FakeAnalytics
  • Exposing new helper function that can be used to parse the Dart SDK version

5.8.1 #

  • Refactor logic for okToSend and shouldShowMessage
  • Check devtools config file for legacy opt out status

5.8.0 #

  • Fix template string for consent message
  • Add enabledFeatures to constructor to collect features enabled for each dash tool

5.7.0 #

  • Added the Event.commandUsageValues constructor

5.6.0 #

  • Added the Event.timing constructor

5.5.0 #

  • Edit to the Event.flutterCommandResult constructor to add commandHasTerminal
  • Added timeout for Analytics.setTelemetry to prevent the clients from hanging
  • Added the Event.appleUsageEvent constructor
  • Added the Event.exception constructor

5.4.0 #

  • Added the Event.codeSizeAnalysis constructor

5.3.0 #

  • User property "host_os_version" added to provide detail version information about the host
  • User property "locale" added to provide language related information
  • User property "client_ide" (optional) added to provide the IDE used by the Dash tool using this package, if applicable
  • Added the Event.flutterCommandResult constructor

5.2.0 #

  • Added the Event.hotRunnerInfo constructor

5.1.0 #

  • Added the Event.flutterBuildInfo constructor

5.0.0 #

  • Update to the latest version of package:dart_flutter_team_lints
  • Using internal futures list to store send events
  • Added the Event.doctorValidatorResult constructor

4.0.1 #

  • Adding constant for the NoOpAnalytics instance client ID to enable clients to reference it in tests

4.0.0 #

  • Enhanced LogFileStats data to include information about flutter channel counts and tool counts
  • Added new method to suppress telemetry collection temporarily for current invocation via analytics.suppressTelemetry()
  • Added SurveyHandler feature to Analytics instance to fetch available surveys from remote endpoint to display to users along with functionality to dismiss them
  • Surveys will be disabled for any users that have been opted out
  • Shipping FakeAnalytics for clients of this tool that need to ensure workflows are sending events in tests
  • Adding getter to Analytics instance to fetch the client ID being sent to GA4

3.0.0 #

  • Allow latest package versions for file and http
  • Introducing new Event class that will standardize what event data can be sent with each event
  • Deprecating the sendEvent method in favor of the send method

2.0.0 #

  • Refactoring dateStamp utility function to be defined in utils.dart instead of having static methods in Initializer and ConfigHandler
  • Remove the pddFlag now that the revisions to the PDD have been finalized to persist data in the log file and session json file
  • Opting out will now delete the contents of the CLIENT ID, session json, and log files; opting back in will regenerate them as events send
  • enableAsserts parameter added to constructors for Analytics to check body of POST request for Google Analytics 4 limitations
  • Now checking if write permissions are enabled for user's home directory, if not allowed, NoOpAnalytics returned by Analytics factory constructor

1.1.0 #

  • Added a okToSend getter so that clients can easily and accurately check the state of the consent mechanism.
  • Initialize the config file with user opted out if user was opted out in legacy Flutter and Dart analytics

1.0.1 #

  • Error handling on the analytics.sendEvent(...) method to silently error out and return a 500 http status code to let tools using this package know Google Analytics did not receive the event (all successful requests will have a status code of 2xx provided by Google Analytics)

1.0.0 #

  • Error handling functionality added to prevent malformed session json data from causing a crash
  • Creating a new analytics constructor to point to a test instance of Google Analytics for developers
  • Align supported tool list with PDD
  • Exposing a new instance method that will need to be invoked when a client has successfully shown the consent message to the user clientShowedMessage()
  • Adding and incrementing a tool's version will automatically use the current consent message version instead of incrementing by 1
  • Default constructor has disabled the usage of local log file and session json file until revisions have landed to the privacy document

0.1.2 #

  • Implemented fake Google Analytics Client for Analytics.test(...) constructor; marked with visible for testing annotation

0.1.1 #

  • Bumping intl package to 0.18.0 to fix version solving issue with flutter_tools
  • LogFileStats includes more information about how many events are persisted and total count of how many times each event was sent

0.1.0 #

  • Initial version
3
likes
160
pub points
98%
popularity

Publisher

verified publishertools.dart.dev

A package for logging analytics for all Dart and Flutter related tooling to Google Analytics.

Repository (GitHub)
View/report issues
Contributing

Documentation

API reference

License

BSD-3-Clause (license)

Dependencies

clock, convert, file, http, meta

More

Packages that depend on unified_analytics