koma_flutter 1.0.1 copy "koma_flutter: ^1.0.1" to clipboard
koma_flutter: ^1.0.1 copied to clipboard

Koma Analytics SDK for Flutter — event tracking, user identification, and user properties with a durable offline queue.

Changelog #

All notable changes to koma_flutter are documented here. This project follows Semantic Versioning.

1.0.1 #

Fixed #

  • device.metadata and application.metadata now match the dashboard's live-event contract (the user_agent-shaped structure the React SDK emits). Native device_info_plus / package_info_plus fields are mapped into the nested { name, type, os:{…}, device:{…}, engine:{…}, … } shape, so the live-event timeline renders mobile sessions instead of breaking on the previous flat native shape ({ os, osVersion, brand, model, … }).

1.0.0 #

First stable release. Feature and behavior parity with the Koma React SDK.

Added #

  • Public API: Koma singleton (init, track, identify, setUserProperty), KomaConfig, ConnectionError / ConnectionErrorCode, and the opt-in KomaNavigatorObserver / KomaScreenEvent.
  • Event tracking, user identification, and user properties over Socket.IO, matching the server wire contract (with insertId deduplication).
  • Durable FIFO event queue (shared_preferences + file): no event loss across restarts or disconnects; single-flight drain, linear retry backoff, and poison-event drop.
  • Offline-first delivery with automatic flush on reconnect; app-lifecycle aware (resume → reconnect + flush).
  • Device / app / network / location metadata via device_info_plus, package_info_plus, connectivity_plus, and geolocator (precise location only when already granted; never prompts), with a complete device-only fallback so tracking never breaks.
  • IP enrichment proxied through the Koma server (no third-party key in the SDK); the lookup runs on-device so it resolves the real client IP.
  • Debug mode, onConnectionError callback, and a small fully-typed surface.

Notes #

  • The API host is internal (build-mode driven) and not customer-configurable.
  • Verified end-to-end on Android and iOS; 57 unit/integration tests.

1.0.0-dev.1 — unreleased #

Phase 3 (Flutter API design). Public surface frozen; internals stubbed.

Added #

  • Public API: Koma singleton (init, track, identify, setUserProperty), KomaConfig, ConnectionError / ConnectionErrorCode, KomaNavigatorObserver / KomaScreenEvent.
  • Frozen internal module layout (src/{client,config,events,session,queue, persistence,transport,device,lifecycle,util}).
  • Implemented pieces: constants, config, connection error, event model/type, payload builder (wire contract), UUID + logger utilities, navigator observer.
  • Behavioral modules (transport, queue, persistence, device, session, lifecycle) are signature-frozen stubs pending Phases 4–6.

No Dart toolchain was available at authoring time; flutter analyze / format / test gates are pending first CI run.

0
likes
130
points
161
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

Koma Analytics SDK for Flutter — event tracking, user identification, and user properties with a durable offline queue.

Homepage
Repository (GitHub)

Topics

#analytics #tracking #events #telemetry

License

MIT (license)

Dependencies

connectivity_plus, crypto, device_info_plus, flutter, geolocator, http, package_info_plus, path_provider, shared_preferences, socket_io_client, uuid

More

Packages that depend on koma_flutter