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.