userpilot_flutter 1.2.0 copy "userpilot_flutter: ^1.2.0" to clipboard
userpilot_flutter: ^1.2.0 copied to clipboard

Plugin package to bridge the native Userpilot SDKs in a Flutter application.

1.2.0 #

  • ✨ Support preview experience and test push notifications.
  • ✨ Support deep links / URL scheme handling.
  • ✨ didHandleURL now waits for initialize instead of dropping the link, so you no longer have to order the two calls. Up to 10 URLs wait at once, each for at most 10 seconds, after which it returns false and your own routing runs.
  • ⚡️ Improve performance.
  • ⚡️ Interaction autocapture no longer walks your whole widget tree on every touch, and no longer re-does the same work for each candidate it considers. Resolving a tap used to cost more the bigger the screen, which showed up as scroll jank throughout an app.
  • ✨ UserpilotRedactText and UserpilotIgnoreInteractions now take an optional redact / ignore flag so they can be nested — the marker closest to the interaction wins, and UserpilotRedactText(redact: false, child: …) re-enables capture inside a subtree an ancestor masked. The flag defaults to true, so existing code that passes no flag keeps working unchanged.
  • ⚡️ Building a captured hierarchy no longer scales with the size of the screen. On a 400-row screen it measured 71.8ms down to 23.2ms per tap, and is now flat rather than growing with the row count. maxHierarchyDepth still defaults to 25, and lowering it is no longer a meaningful performance lever now that the cost it bounds is a small fixed amount — choose it for the elements you need to target on. It now also bounds how far up accessibility fields are read, so a shallower window can drop a Semantics label a rule depends on.
  • ♻️ Android now rejects SDK calls made before initialize with a notInitialized error instead of silently ignoring them, matching iOS.
  • Update Userpilot native SDK dependencies - iOS 1.3.0, Android 1.3.0
  • Breaking: hierarchy now reports a lazy list's own item index in attr__index, so a row keeps the same hierarchy at every scroll position. It previously counted the row's position among the children the list had built, which changes as you scroll — the same row reported attr__index="3" at one offset and "2" at another, so a rule targeting it matched only intermittently. Rules that match a hierarchy containing a ListView / SliverList segment need updating to the row's item index.
  • Breaking: hierarchy now reports attr__desc only on the node that actually carries the accessibility label. It previously searched each node's whole subtree, so an unrelated child's label was copied onto every ancestor segment — a Checkbox's label appearing on Viewport — and the value changed depending on which rows a lazy list happened to have built, making the same element report different hierarchies at different scroll positions. Targeting rules that match one of those copied attr__desc values need updating to match the node that owns the label instead.
  • Breaking: the accessibility_label, accessibility_identifier, accessibility_hint, accessibility_value and view_tag fields now resolve to the nearest source instead of the first one found anywhere on screen. Each field is read from the interacted widget's ancestors, nearest outwards and bounded by maxHierarchyDepth, and only falls back to the widget's own subtree for fields no ancestor supplied. Previously the search ran to the root and through the entire subtree before choosing, so a Semantics label on a distant unrelated ancestor could describe an unlabelled button, and view_tag preferred a descendant's tagForChildren over the ancestor whose children it actually tags. Rules matching a value that came from outside maxHierarchyDepth, or a view_tag taken from a descendant, need updating to the value on the nearest Semantics. Wrapping the control in your own Semantics makes that value authoritative.
  • ⚡️ Collecting accessibility metadata no longer walks a widget's whole subtree when its nearest ancestor already describes it, and no longer repeats that walk for each hit-test element that resolves to the same widget. Tapping a control inside a large container cost one subtree walk per element on the touched path; it now costs at most one, and usually none.
  • Breaking: the recommended iOS deep-link integration now uses the UIScene lifecycle, which requires Flutter 3.38.0 or later in your app. The previous app-delegate setup still works below that and stays documented. see Configuring the Userpilot URL Scheme.

1.1.0 #

  • Support Auto Capture feature.
  • Update Userpilot native SDK dependencies - iOS 1.2.2, Android 1.2.2

1.0.14 #

  • 🐛 Added automatic cleanup of cached track events after processing it to prevent duplicate event handling and tracking.
  • ⬆️ Update Userpilot native SDK dependencies

1.0.13 #

  • ⬆️ Update Userpilot native SDK dependencies - iOS 1.0.17

1.0.12 #

  • ⬆️ Update Userpilot native SDK dependencies - iOS 1.0.16, Android 1.0.16

1.0.11 #

  • 🐛 Fixed Android build configuration issues.

1.0.10 #

  • ⬆️ Update Userpilot native SDK dependencies - iOS 1.0.15, Android 1.0.14
  • 👔 Added submissionId parameter to all Survey events

1.0.9 #

  • ⬆️ Update Userpilot native SDK dependencies - iOS 1.0.14, Android 1.0.13

1.0.8 #

  • ⬆️ Update Android native SDK dependency - Android 1.0.12
  • 🐛 Fix Gif images rendering
  • 🐛 Fix auto lazy dependencies initializer

1.0.7 #

  • ⬆️ Update Android native SDK dependency - Android 1.0.11
  • 🐛 Fix keyboard visibility detection

1.0.6 #

  • 🐛 Fix unrecognized disableRequestPushNotificationsPermission configuration option

1.0.5 #

  • ⬆️ Update native SDK dependencies - iOS 1.0.12, Android 1.0.10
  • 🔧 Update configurations options
  • ♻️ Update plugin to support SPM

1.0.4 #

  • ⬆️ Update native SDK dependencies - version 1.0.7

1.0.3 #

  • ⬆️ Update native SDK dependency - version 1.0.6

1.0.2 #

  • ⬆️ Update native SDK dependency - Android version 1.0.4, iOS version 1.0.5
  • 👔 Enhanced experience logging for better insight during debugging and analysis.

1.0.1 #

  • ⬆️ Update native SDK dependency - version 1.0.2

1.0.0 #

  • ⬆️ Update native SDK dependency - version 1.0.1

0.0.1-beta.3 #

  • ⬆️ Update native SDK dependency - version 0.0.1-rc.2

0.0.1-beta.2 #

  • ⬆️ Update native SDK dependency - version 0.0.1-rc.1
  • ✅ Introduced Feedback (Surveys, NPS).
  • ✅ Added Push Notifications support.
  • ⬆️ Support for Android 15.

0.0.1-beta.1 #

  • ✨ Plugin and example application usage
  • ✨ Depends on iOS SDK version 0.0.1-beta.4
  • ✨ Depends on Android SDK version 0.0.1-beta.4
2
likes
160
points
5.19k
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

Plugin package to bridge the native Userpilot SDKs in a Flutter application.

Homepage

License

MIT (license)

Dependencies

flutter

More

Packages that depend on userpilot_flutter

Packages that implement userpilot_flutter