zendesk_messaging library

Zendesk Messaging SDK Flutter Plugin.

A Flutter plugin for integrating Zendesk Messaging SDK into your mobile applications. Provides in-app customer support messaging with multi-conversation support, real-time events, and JWT authentication.

Quick Start

import 'package:zendesk_messaging/zendesk_messaging.dart';

// Initialize
await ZendeskMessaging.initialize(
  androidChannelKey: 'your_android_key',
  iosChannelKey: 'your_ios_key',
);

// Show messaging UI
await ZendeskMessaging.show();

Event Handling

ZendeskMessaging.eventStream.listen((event) {
  switch (event) {
    case UnreadMessageCountChanged(:final totalUnreadCount):
      print('Unread: $totalUnreadCount');
    case AuthenticationFailed(:final isJwtExpired):
      if (isJwtExpired) refreshToken();
    default:
      break;
  }
});

await ZendeskMessaging.listenUnreadMessages();

Logging Configuration

// Enable/disable logging
ZendeskMessagingConfig.enableLogging = true;

// Use custom logger
ZendeskMessagingConfig.logger = (message, {error, stackTrace}) {
  MyLogger.log(message, error: error);
};

Classes

ArticleBrowserClicked
Triggered when an article is opened in the browser.
ArticleClicked
Triggered when an article is clicked in the article viewer.
AuthenticationFailed
Triggered when authentication fails.
ConnectionStatusChanged
Triggered when the SDK connection status changes.
ConversationAdded
Triggered when a new conversation is added.
ConversationExtensionDisplayed
Triggered when a conversation extension is displayed.
ConversationExtensionOpened
Triggered when a conversation extension is opened.
ConversationOpened
Triggered when a conversation is opened.
ConversationServedByAgent
Triggered when an agent sends the first message in a conversation.
ConversationStarted
Triggered when a conversation is started.
ConversationWithAgentAssigned
Triggered when an agent is assigned to a conversation.
ConversationWithAgentRequested
Triggered when user requests to speak with an agent.
FieldValidationFailed
Triggered when field validation fails.
MessagesShown
Triggered when messages are shown to the user.
MessagingClosed
Triggered when the messaging UI is closed.
MessagingOpened
Triggered when the messaging UI is opened.
NewConversationButtonClicked
Triggered when the new conversation button is clicked.
NotificationDisplayed
Triggered when a push notification is displayed.
NotificationOpened
Triggered when a push notification is opened by the user.
PostbackButtonClicked
Triggered when a postback button is clicked.
ProactiveMessageClicked
Triggered when a proactive message is clicked.
ProactiveMessageDisplayed
Triggered when a proactive message is displayed.
SendMessageFailed
Triggered when sending a message fails.
UnreadMessageCountChanged
Triggered when the unread message count changes.
ZendeskEvent
Base class for all Zendesk events.
ZendeskEventParser
Utility class for parsing Zendesk events from native platform data.
ZendeskLoginResponse
Response from a successful login operation.
ZendeskMessage
Message data from Zendesk SDK events.
ZendeskMessaging
Zendesk Messaging SDK Flutter Plugin.
ZendeskMessagingConfig
Configuration for ZendeskMessaging.
ZendeskUser
User information returned from Zendesk SDK.

Enums

ZendeskAuthenticationType
Authentication type for the Zendesk user.
ZendeskConnectionStatus
Connection status of the Zendesk SDK.
ZendeskPushResponsibility
Indicates how a push notification should be handled.

Typedefs

ZendeskLogger = void Function(String message, {Object? error, StackTrace? stackTrace})
Signature for custom logger functions.