guidexr_optimize_flutter_sdk 0.2.1
guidexr_optimize_flutter_sdk: ^0.2.1 copied to clipboard
Official Flutter SDK for the GuideXR Optimize platform — event tracking, user and device registration, and attribution capture.
0.2.1 #
Fix: an event's action_date_time (and the matching occurred_at
field) is now recorded in UTC, consistent with every other timestamp the
SDK sends. Previously it was recorded in the device's own local time
with nothing in the value to say so — for a user in India, it was
correct local time, but arriving in the same shape as a UTC value. A
backend or dashboard that reads it as UTC (a reasonable default) would
show every event several hours off from when it actually happened. No
other timestamp was affected, and no app code needs to change.
0.2.0 #
New optional privacy, reliability, and identity-matching controls, plus a few fixes to timezone reporting and notification handling.
New, opt-in options (nothing changes unless you turn these on):
- Hide the device identifier from analytics events until a user signs in, for apps with a stricter pre-login privacy policy.
- Wait to send the "where did this install come from" event until the user is signed in, so it can be matched to their account instead of arriving anonymously — useful if you sync install attribution to a CRM or similar system.
- Automatically skip a repeated user/device registration call that fires again too soon after the last one (e.g. a screen that registers on every rebuild), to cut down on unnecessary network traffic.
Fixes:
- Timezones are now reported in a consistent, reliable format across Android and iOS, instead of one that could vary by device and language.
- An in-app message that arrives right at app launch now has a better chance of actually being shown, instead of occasionally being missed if it arrived a split second too early.
- A push notification tapped to open the app no longer risks being counted as clicked twice.
- Collecting device details now times out quickly instead of potentially hanging on a slow device.
Additions:
- A helper for apps sending events to Meta/Facebook, so screen views can be recognized as Meta's own standard "content view" event.
- In-app message images are now cached, so a repeated banner or popup loads instantly instead of re-downloading every time.
0.1.0 #
Initial release of the GuideXR Optimize Flutter SDK.
- Event tracking: page view (with dedup), click, backend-only, and custom
events; standard
app_openhelper with open-source/notification context. - Automatic lifecycle events:
app_install(exactly once per device, reinstall-safe on iOS) andapp_version_changed. - User and device registration, including push token association and channel preferences.
- Identity management: per-process session id, persisted anonymous id (secure storage), app-supplied installation/device id providers.
- Attribution capture from deep links and the Play Install Referrer, with
source-priority replace, 30-day expiry, and
attribution_captureevents. - Consent state (
analytics/marketing/location), persisted and attached to event and registration payloads. - Pluggable forwarders for routing events to additional destinations (e.g. Firebase Analytics, Meta) without forcing those dependencies on every consumer; per-destination and global kill switches; config-level destination flags with readiness validation.
- Push notification lifecycle tracking (received/impression/clicked/button_action/dismissed), with a background-isolate-safe tracker, plus payload parsing helpers (notification ids, deeplinks, action buttons).
- Notification inbox data client: paginated list, read/unread toggle (single and bulk with automatic chunking), clear, and clear-all.
- In-app messages: foreground FCM handling, evaluate polling, seen-id dedup, queueing, and overlay rendering for four display types (full-screen, modal, top banner, bottom banner) with built-in lifecycle tracking.
- Error/log observability callbacks; no failure inside the SDK ever throws into the host app.