Skip to main content

engagive_flutter_sdk 1.0.2 copy "engagive_flutter_sdk: ^1.0.2" to clipboard
engagive_flutter_sdk: ^1.0.2 copied to clipboard

Native in-app support chat SDK for Engagive AppChat visitor messaging.

Changelog #

All notable changes to this package are documented in this file.

1.0.2 #

Identity #

  • The SDK signs the identify JWT. Pass publicKey and secretKey on EngagiveConfig, then call identifyUser, identifyAnonymous, or upgradeUser with the user id (or as a guest). identifyToken is optional.

Example #

  • The example no longer signs identify JWTs. It passes the widget secret on EngagiveConfig and starts a session with a user id or as a guest. The SDK sets the identify JWT lifetime (5 minutes).

1.0.1 #

Requires Flutter 3.44.2 (>=3.44.2) and Dart 3.12.2 (^3.12.2). Stay on 1.0.0 if the host app is still on Flutter 3.24.

Dependencies #

  • http 1.6, http_parser 4.1, web_socket_channel 3.0.3
  • file_picker 13, image_picker 1.2, video_player 2.14, just_audio 0.10, record 7
  • flutter_secure_storage 11, flutter_local_notifications 22, flutter_svg 2.3
  • firebase_core 5, firebase_messaging 17
  • device_info_plus 13, package_info_plus 10, geolocator 14, timezone 0.11
  • url_launcher 6.3.3, path_provider 2.1.6
  • Dev: flutter_lints 6

Example #

  • Same Flutter 3.44.2 / Dart 3.12.2 requirement as the package.
  • Environment screen sets ENGAGIVE_PUBLIC_KEY, ENGAGIVE_WIDGET_SECRET_KEY, and ENGAGIVE_API_BASE_URL at runtime. Saved values stay on the device. The API URL defaults to https://api.engagivestudio.com.

1.0.0 #

First public release of the Engagive Flutter visitor SDK (engagive_flutter_sdk).

Identity #

  • Trusted login via server-signed identify_token (Engagive.identifyUser)
  • Anonymous guest chat (Engagive.identifyAnonymous, getOrCreateAnonymousUserId, storedAnonymousUserId)
  • Guest → trusted upgrade (Engagive.upgradeUser / identify with both ids)
  • Engagive.logout(clearAnonymous:) clears session and optionally guest id
  • Secure session restore on Engagive.init (corrupt secure-storage entries cleared safely)

Chat UI #

  • EngagiveChatScreen and Engagive.openChat
  • Integrator controls: showBackButton, showAppBarMenu, appBarMenuIcon, appBarMenuIconAsset, visible
  • Theme from portal Mobile SDK → Flutter settings
  • Reply threads, emoji reactions, delivery/read ticks, date separators
  • Markdown / autolinks, failed-message retry, offline notice, scroll FAB, chat sounds
  • Mark-read only when the chat surface is actually visible

Message types #

  • Receive: text, image, video, audio, document, location, interactive, template, sticker, contacts
  • Send: text, image, video, audio, document, location, interactive reply, template quick-reply
  • Attach menu, voice record, captions, media MIME/size policy aligned with AppChat

Realtime & API #

  • REST visitor client (session, messages, media, reactions, mark-read, restart)
  • WebSocket realtime (/ws) with reconnect and auth close handling
  • Unread badge / background notification hooks for host apps

Visitor push (FCM) #

  • Built-in EngagiveFirebasePushIntegration (Android + iOS)
  • EngagiveConfig.enablePushNotifications, optional firebaseProjectId
  • Device metadata on token register; EngagivePushPayload / pushDiagnostics
  • Host must ship Firebase client config (+ APNs on iOS)

Platform #

  • Flutter ≥ 3.24 / Dart ≥ 3.5
  • Example host app under example/
  • Codemagic workflows for validate + pub.dev publish