- Handling DatabaseException and Bad State errors
- Allow Dart 3
- Updated to use null safety
- Added 'addAll' method in 'Store' class to perform batch save on buffer.
- Remove older events when the buffer is full
- Don't try to flush on each new event when the
numEvents
is not null, this prevents from keep retrying too soon when the buffer is too large.
- Include
regenerateDeviceId
function
- Give user the abilities to customize the DB store. Thanks @reinaldomoreira!
- Fix a problem that
device type
shows empty value for iOS devices.
- Can track advertising Id now.
- Will use a random UUID for device Id if ads tracking is disabled on the phone.
- Device Id will be persisted locally to keep consistency.
- Fixed wrong value population for os related properties in an event.
- Include
language
property when reporting events.
- Updated to use androidx for Android.
- Fix a problem that dart documentation can't be generated on pub.dev
- Made changes to support the new Android plugins API (>= 1.12 Flutter SDK).
- Updated Android example application with v2 Android embedding.
- Migrated from AppLifecycleState.suspending to AppLifecycleState.detached. Cause suspending is deprecated. Thanks @otopba for fixing it.
- Fixed the possible crash while other permission is requested by other libraries.
- add
device_manufacturer
info - add ability to retrieve carrier info
- add config option to turn on and off retrieving carrier info
- Wait for device info to be available before sending events
- Send event_id with payloads
- Add application version to events
- Limit stored events
- Add setUserId()
- Add a sequence_id sent with events
- Config option to opt out of tracking
- Example app changes
- Adds revenue tracking.
- Catch errors from platform channels.
- Fixes bug where default session timeout was not set.
- Persist events to sqlite database.
- Refactor to use service provider class to simplify dependency injection in test.
- Add group identify functionality.
- Retry posting events.
- Flush event buffer every 30s.
- Retry posting events when payload is too large.
- Include uuid for events.
- Include library version for events.
- Fixes serialization bug preventing events from sending.
- Implements logEvent and identify functionality.