Tencent Cloud Desk Customer UIKit
Tencent Cloud Desk Customer UIKit is a Flutter library designed for seamless integration of Tencent Cloud Desk customer service features into your app. With minimal code, you can implement a professional chat interface tailored to intelligent customer service scenarios. This package eliminates the need to manage complex Chat integrations while offering a customizable and efficient solution for customer interaction.
Key Features
- Purpose-built for customer service scenarios: Focused design for UI, interactions, and functionality to enhance the smart customer service experience.
- Effortless integration: Add a fully functional customer service module with just a few lines of code.
- Customizable configuration: Global and session-level configurations to fit your specific needs.
Requirements
Environment
- Flutter version: 3.24 or above
- Platform support: Works on both simulators and physical devices.
Note: If your project uses a Flutter version earlier than 3.24, it is highly recommended to upgrade. For older Flutter versions, consider using the legacy IM UIKit + customer service plugin combination.
Prerequisites
Ensure you have completed the necessary backend setup:
- Added customer service agents.
- Configured skill groups.
- Created conversation service flows.
For more information on these steps, refer to the Tencent Cloud Desk Quick Start Guide.
Installation
Add the tencent_cloud_customer
package to your project:
flutter pub add tencent_cloud_customer
How to Use
1. Initialize the Customer Service SDK
Call the init
method to initialize the SDK and configure global settings. You'll need Tencent Cloud Chat credentials (SDKAppID, userID, userSig) for authentication.
Example:
import 'package:tencent_cloud_customer/tencent_cloud_customer.dart';
TencentCloudCustomer.init(
sdkAppID: "SDKAppID", // Your SDKAppID from Tencent Cloud Chat Console
userID: "userID", // The UserID for authentication
userSig: "userSig", // The UserSig for authentication
config: TencentCloudCustomerConfig(), // Optional: Default global configuration for all the customer service experience
);
2. Open the Customer Service Chat Interface
Use the navigate
method to open the customer service chat page. Session-specific configurations can override the global defaults for more granular control.
Example:
import 'package:tencent_cloud_customer/tencent_cloud_customer.dart';
TencentCloudCustomer.navigate(
context: context, // Flutter's BuildContext
customerServiceID: "@customer_service_account", // The customer service account ID to initiate a chat with
config: TencentCloudCustomerConfig(), // Optional: Additional configuration specific to this session
);
Learn More
Refer to the official Tencent Cloud Desk Documentation for detailed guidance.
Libraries
- base_widgets/tim_ui_kit_base
- base_widgets/tim_ui_kit_class
- base_widgets/tim_ui_kit_state
- base_widgets/tim_ui_kit_statelesswidget
- business_logic/life_cycle/base_life_cycle
- business_logic/life_cycle/chat_life_cycle
- business_logic/listener_model/tui_group_listener_model
- business_logic/model/profile_model
- business_logic/separate_models/tui_chat_model_tools
- business_logic/separate_models/tui_chat_separate_view_model
- business_logic/view_models/tui_chat_global_model
- business_logic/view_models/tui_conversation_view_model
- business_logic/view_models/tui_self_info_view_model
- business_logic/view_models/tui_setting_model
- customer_service/manager/tencent_cloud_customer_manager
- customer_service/manager/tencent_cloud_customer_manager_impl
- customer_service/model/tencent_cloud_customer_config
- customer_service/model/tencent_cloud_customer_qucik_message
- customer_service/plugin/common/utils
- customer_service/plugin/components/message-branch
- customer_service/plugin/components/message-branchMessage
- customer_service/plugin/components/message-create/card_create
- customer_service/plugin/components/message-customer-service
- customer_service/plugin/components/message-form/message-form
- customer_service/plugin/components/message-form/message-formInput
- customer_service/plugin/components/message-form/message-formInput-mobile
- customer_service/plugin/components/message-form/mobile_form
- customer_service/plugin/components/message-formSave/formSave-branch
- customer_service/plugin/components/message-formSave/formSave-input
- customer_service/plugin/components/message-formSave/message-formSave
- customer_service/plugin/components/message-multiple
- customer_service/plugin/components/message-orderCard
- customer_service/plugin/components/message-productCard
- customer_service/plugin/components/message-rating/message-rating
- customer_service/plugin/components/message-rating/rating-number
- customer_service/plugin/components/message-rating/rating-star
- customer_service/plugin/components/message-richText
- customer_service/plugin/components/message-robot-welcome
- customer_service/plugin/components/message-robot.dart/message-robot
- customer_service/plugin/components/message-robot.dart/robot-card
- customer_service/plugin/components/message-robot.dart/robot-text
- customer_service/plugin/components/message-show
- customer_service/plugin/components/message-stream
- customer_service/plugin/tencent_cloud_chat_customer_service_plugin
- customer_service/utils/tencent_cloud_customer_logger
- customer_service/utils/tencent_cloud_customer_toast
- customer_service/widgets/tencent_cloud_customer_message_container
- customer_service/widgets/tencent_cloud_customer_message_header
- customer_service/widgets/tencent_cloud_customer_message_quick_message
- customer_service/widgets/tencent_cloud_customer_message_tongue_item
- data_services/conversation/conversation_services
- data_services/conversation/conversation_services_implements
- data_services/core/core_services
- data_services/core/core_services_implements
- data_services/core/tim_uikit_config
- data_services/core/tim_uikit_wide_modal_operation_key
- data_services/core/web_support/uikit_web_support
- data_services/core/web_support/uikit_web_support_implement
- data_services/friendShip/friendship_services
- data_services/friendShip/friendship_services_implements
- data_services/group/group_services
- data_services/group/group_services_implement
- data_services/message/message_service_implement
- data_services/message/message_services
- data_services/services_locatar
- import_proxy/general
- import_proxy/import_proxy
- import_proxy/platform/native_import
- import_proxy/platform/web_import
- tencent_cloud_customer
- ui/constants/history_message_constant
- ui/constants/time
- ui/controller/tim_uikit_chat_controller
- ui/theme/tim_uikit_avatar_theme
- ui/theme/tim_uikit_message_theme
- ui/utils/common_utils
- ui/utils/custom_sticker
- ui/utils/error_message_converter
- ui/utils/frame
- ui/utils/logger
- ui/utils/message
- ui/utils/optimize_utils
- ui/utils/permission
- ui/utils/platform
- ui/utils/route
- ui/utils/screen_shot
- ui/utils/screen_utils
- ui/utils/sound_record
- ui/utils/time_ago
- ui/views/TIMUIKitChat/tim_uikit_chat
- ui/views/TIMUIKitChat/tim_uikit_chat_config
- ui/views/TIMUIKitChat/tim_uikit_cloud_custom_data
- ui/views/TIMUIKitChat/tim_uikit_multi_select_panel
- ui/views/TIMUIKitChat/tim_uikit_send_file
- ui/views/TIMUIKitChat/TIMUIKitAppBar/tim_uikit_appbar
- ui/views/TIMUIKitChat/TIMUIKitAppBar/tim_uikit_appbar_title
- ui/views/TIMUIKitChat/TIMUIKitMessageItem/main
- ui/views/TIMUIKitChat/TIMUIKitMessageItem/tim_uikit_chat_custom_elem
- ui/views/TIMUIKitChat/TIMUIKitMessageItem/tim_uikit_chat_face_elem
- ui/views/TIMUIKitChat/TIMUIKitMessageItem/tim_uikit_chat_file_elem
- ui/views/TIMUIKitChat/TIMUIKitMessageItem/tim_uikit_chat_file_icon
- ui/views/TIMUIKitChat/TIMUIKitMessageItem/tim_uikit_chat_group_tips_elem
- ui/views/TIMUIKitChat/TIMUIKitMessageItem/tim_uikit_chat_image_elem
- ui/views/TIMUIKitChat/TIMUIKitMessageItem/tim_uikit_chat_reply_elem
- ui/views/TIMUIKitChat/TIMUIKitMessageItem/tim_uikit_chat_sound_elem
- ui/views/TIMUIKitChat/TIMUIKitMessageItem/tim_uikit_chat_text_elem
- ui/views/TIMUIKitChat/TIMUIKitMessageItem/tim_uikit_chat_text_translate_elem
- ui/views/TIMUIKitChat/TIMUIKitMessageItem/tim_uikit_chat_video_elem
- ui/views/TIMUIKitChat/TIMUIKitMessageItem/tim_uikit_merger_message_elem
- ui/views/TIMUIKitChat/TIMUIKitMessageItem/TIMUIKitMessageReaction/message_reaction_emoji
- ui/views/TIMUIKitChat/TIMUIKitMessageItem/TIMUIKitMessageReaction/tim_uikit_message_reaction_detail
- ui/views/TIMUIKitChat/TIMUIKitMessageItem/TIMUIKitMessageReaction/tim_uikit_message_reaction_select_emoji
- ui/views/TIMUIKitChat/TIMUIKitMessageItem/TIMUIKitMessageReaction/tim_uikit_message_reaction_show_item
- ui/views/TIMUIKitChat/TIMUIKitMessageItem/TIMUIKitMessageReaction/tim_uikit_message_reaction_show_panel
- ui/views/TIMUIKitChat/TIMUIKitMessageItem/TIMUIKitMessageReaction/tim_uikit_message_reaction_utils
- ui/views/TIMUIKitChat/TIMUIKitMessageItem/TIMUIKitMessageReaction/tim_uikit_message_reaction_wrapper
- ui/views/TIMUIKitChat/TIMUIKItMessageList/tim_uikit_chat_history_message_list
- ui/views/TIMUIKitChat/TIMUIKItMessageList/tim_uikit_chat_history_message_list_config
- ui/views/TIMUIKitChat/TIMUIKItMessageList/tim_uikit_chat_history_message_list_item
- ui/views/TIMUIKitChat/TIMUIKItMessageList/tim_uikit_chat_message_tooltip
- ui/views/TIMUIKitChat/TIMUIKItMessageList/tim_uikit_history_message_list_container
- ui/views/TIMUIKitChat/TIMUIKItMessageList/tim_uikit_message_read_receipt
- ui/views/TIMUIKitChat/TIMUIKItMessageList/TIMUIKitTongue/tim_uikit_chat_history_message_list_tongue
- ui/views/TIMUIKitChat/TIMUIKItMessageList/TIMUIKitTongue/tim_uikit_chat_history_message_list_tongue_container
- ui/views/TIMUIKitChat/TIMUIKItMessageList/TIMUIKitTongue/tim_uikit_tongue_item
- ui/views/TIMUIKitChat/TIMUIKItMessageList/utils
- ui/views/TIMUIKitChat/TIMUIKitTextField/at_member_panel
- ui/views/TIMUIKitChat/TIMUIKitTextField/intl_camer_picker
- ui/views/TIMUIKitChat/TIMUIKitTextField/special_text/DefaultSpecialTextSpanBuilder
- ui/views/TIMUIKitChat/TIMUIKitTextField/special_text/emoji_text
- ui/views/TIMUIKitChat/TIMUIKitTextField/special_text/http_text
- ui/views/TIMUIKitChat/TIMUIKitTextField/tim_uikit_at_text
- ui/views/TIMUIKitChat/TIMUIKitTextField/tim_uikit_call_invite_list
- ui/views/TIMUIKitChat/TIMUIKitTextField/tim_uikit_emoji_panel
- ui/views/TIMUIKitChat/TIMUIKitTextField/tim_uikit_more_panel
- ui/views/TIMUIKitChat/TIMUIKitTextField/tim_uikit_send_sound_message
- ui/views/TIMUIKitChat/TIMUIKitTextField/tim_uikit_text_field
- ui/views/TIMUIKitChat/TIMUIKitTextField/tim_uikit_text_field_controller
- ui/views/TIMUIKitChat/TIMUIKitTextField/tim_uikit_text_field_layout/narrow
- ui/views/TIMUIKitChat/TIMUIKitTextField/tim_uikit_text_field_layout/wide
- ui/widgets/avatar
- ui/widgets/az_list_view
- ui/widgets/customize_ball_pulse_header
- ui/widgets/drag_widget
- ui/widgets/emoji
- ui/widgets/extended_wrap/extended_render_wrap
- ui/widgets/extended_wrap/extended_wrap
- ui/widgets/forward_message_screen
- ui/widgets/gestured_image
- ui/widgets/group_member_list
- ui/widgets/image_hero
- ui/widgets/image_screen
- ui/widgets/keepalive_wrapper
- ui/widgets/link_preview/common/extensions
- ui/widgets/link_preview/common/utils
- ui/widgets/link_preview/compiler/md_text
- ui/widgets/link_preview/link_preview_entry
- ui/widgets/link_preview/models/link_preview_content
- ui/widgets/link_preview/widgets/link_preview
- ui/widgets/link_preview/widgets/link_text
- ui/widgets/loading
- ui/widgets/merger_message_screen
- ui/widgets/message_read_receipt
- ui/widgets/recent_conversation_list
- ui/widgets/text_input_bottom_sheet
- ui/widgets/textSize
- ui/widgets/unread_message
- ui/widgets/video_custom_control
- ui/widgets/video_screen
- ui/widgets/wide_popup