unified_analytics 6.1.4 unified_analytics: ^6.1.4 copied to clipboard
A package for logging analytics for all Dart and Flutter related tooling to Google Analytics.
6.1.4 #
- Fix formatting and remove dependency on
package:intl
. - Remove direct usage of
package:path
in favor ofpackage:file
. - Added
androidAppId
andiosBundleId
to theEvent.devtoolsEvent
constructor.
6.1.3 #
- Require Dart 3.4.
- Added
isWasm
parameter to theEvent.devtoolsEvent
constructor. - Added an optional parameter
data
to theEvent.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 aFileSystemException
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 valueDashEvent.devtoolsEvent
6.0.0 #
- Consolidate
Session
functionality intoUserProperty
to prevent race condition crash where session logic crashed before initializingUserProperty
- Get rid of
late
variables throughout implementation class,AnalyticsImpl
- Any error events (
Event.analyticsException
) encountered within package will be sent when invokingAnalytics.close
; replacingErrorHandler
functionality - Exposing new method for
FakeAnalytics.sendPendingErrorEvents
to send error events on command - Added
Event.fromJson
static method to generate instance ofEvent
from JSON - Remove unused parameters
measurementId
andapiSecret
from theAnalytics.test
constructor - Remove
Analytics.test
factory constructor in favor ofAnalytics.fake
static method to return aFakeAnalytics
instance - Remove
FakeAnalytics
default 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.dart
throughlib/testing.dart
5.8.2 #
- Added new event
Event.analyticsException
to track internal errors for this package - Redirecting the
Analytics.test
factory 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
okToSend
andshouldShowMessage
- 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 addcommandHasTerminal
- 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 toAnalytics
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
andhttp
- Introducing new
Event
class that will standardize what event data can be sent with each event - Deprecating the
sendEvent
method in favor of thesend
method
2.0.0 #
- Refactoring
dateStamp
utility function to be defined inutils.dart
instead of having static methods inInitializer
andConfigHandler
- 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 forAnalytics
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 byAnalytics
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 a500
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 of2xx
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