unified_analytics 8.0.5
unified_analytics: ^8.0.5 copied to clipboard
A package for logging analytics for all Dart and Flutter related tooling to Google Analytics.
8.0.5 #
- Fix
Event.flutterWasmDryRunfields.
8.0.4 #
- Changed
Event.flutterWasmDryRunto track dart2wasm dry run metrics from Flutter.
8.0.3 #
- Changed
Event.contextStructureto make optional data that's no longer being collected and to add data about the size of library cycles.
8.0.2 #
- Added
Event.dartMCPEventfor events from thedart mcp-servercommand.
8.0.1 #
- Added
Event.flutterInjectDarwinPluginsevent for plugins injected into an iOS/macOS project.
8.0.0 #
- Send
enabled_featuresas an event parameter in all events rather than as a user property.
7.0.2 #
- Allow
LogStatsFileto contain more granular event types (specificallyproperty_editorevents).
7.0.1 #
- Fixed
UnsupportedErrorthrown when Event.exception is called without providing a value forargs.
7.0.0 #
- Added a required parameter
screento theEvent.devtoolsEventconstructor. - Added an optional parameter
additionalMetricsto theEvent.devtoolsEventconstructor. - Added
CustomMetricsclass for unified_analytics clients to define custom event metrics. - Removed parameters
uiDurationMicros,rasterDurationMicros,shaderCompilationDurationMicros,traceEventCount,cpuSampleCount,cpuStackDepth,heapDiffObjectsBefore,heapDiffObjectsAfter,heapObjectsTotal,rootSetCount,rowCount,inspectorTreeControllerId,androidAppId,iosBundleIdfrom theEvent.devtoolsEventconstructor.
6.1.5 #
- Remove any
dataentries with a null value in theEvent.exceptionconstructor.
6.1.4 #
- Fix formatting and remove dependency on
package:intl. - Remove direct usage of
package:pathin favor ofpackage:file. - Added
androidAppIdandiosBundleIdto theEvent.devtoolsEventconstructor.
6.1.3 #
- Require Dart 3.4.
- Added
isWasmparameter to theEvent.devtoolsEventconstructor. - Added an optional parameter
datato theEvent.exceptionconstructor.
6.1.2 #
- Avoid opening large telemetry log files to prevent out of memory errors.
6.1.1 #
- Fixed bug where calling
Analytics.sendcould result in aFileSystemExceptionwhen unable to write to a log file.
6.1.0 #
- Added new event constructor
Event.devtoolsEventfor the single devtools event with a new enum valueDashEvent.devtoolsEvent
6.0.0 #
- Consolidate
Sessionfunctionality intoUserPropertyto prevent race condition crash where session logic crashed before initializingUserProperty - Get rid of
latevariables throughout implementation class,AnalyticsImpl - Any error events (
Event.analyticsException) encountered within package will be sent when invokingAnalytics.close; replacingErrorHandlerfunctionality - Exposing new method for
FakeAnalytics.sendPendingErrorEventsto send error events on command - Added
Event.fromJsonstatic method to generate instance ofEventfrom JSON - Remove unused parameters
measurementIdandapiSecretfrom theAnalytics.testconstructor - Remove
Analytics.testfactory constructor in favor ofAnalytics.fakestatic method to return aFakeAnalyticsinstance - Remove
FakeAnalyticsdefault constructor in favor ofAnalytics.fake
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.4 #
- Exporting all enums from
enums.dartthroughlib/testing.dart
5.8.2 #
- Added new event
Event.analyticsExceptionto track internal errors for this package - Redirecting the
Analytics.testfactory to return an instance ofFakeAnalytics - Exposing new helper function that can be used to parse the Dart SDK version
5.8.1 #
- Refactor logic for
okToSendandshouldShowMessage - Check devtools config file for legacy opt out status
5.8.0 #
- Fix template string for consent message
- Add
enabledFeaturesto constructor to collect features enabled for each dash tool
5.7.0 #
- Added the
Event.commandUsageValuesconstructor
5.6.0 #
- Added the
Event.timingconstructor
5.5.0 #
- Edit to the
Event.flutterCommandResultconstructor to addcommandHasTerminal - Added timeout for
Analytics.setTelemetryto prevent the clients from hanging - Added the
Event.appleUsageEventconstructor - Added the
Event.exceptionconstructor
5.4.0 #
- Added the
Event.codeSizeAnalysisconstructor
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.flutterCommandResultconstructor
5.2.0 #
- Added the
Event.hotRunnerInfoconstructor
5.1.0 #
- Added the
Event.flutterBuildInfoconstructor
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.doctorValidatorResultconstructor
4.0.1 #
- Adding constant for the NoOpAnalytics instance client ID to enable clients to reference it in tests
4.0.0 #
- Enhanced
LogFileStatsdata 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
SurveyHandlerfeature toAnalyticsinstance 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
FakeAnalyticsfor clients of this tool that need to ensure workflows are sending events in tests - Adding getter to
Analyticsinstance to fetch the client ID being sent to GA4
3.0.0 #
- Allow latest package versions for
fileandhttp - Introducing new
Eventclass that will standardize what event data can be sent with each event - Deprecating the
sendEventmethod in favor of thesendmethod
2.0.0 #
- Refactoring
dateStamputility function to be defined inutils.dartinstead of having static methods inInitializerandConfigHandler - Remove the
pddFlagnow 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
enableAssertsparameter added to constructors forAnalyticsto 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,
NoOpAnalyticsreturned byAnalyticsfactory constructor
1.1.0 #
- Added a
okToSendgetter 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 a500http status code to let tools using this package know Google Analytics did not receive the event (all successful requests will have a status code of2xxprovided 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