bytedesk helpdesk system
bytedesk flutter helpdesk sdk
Features
- support andorid/ios/web
- chat with agent
- shopping chat, send commodity info
- send post script message
- check online status
- get history thread
- message voice && vibrate setting
- chat with robot
- send and play video message
- chat notification
Getting Started
Zero Step: Copy assets dir from bytedesk_demo and add to pubspec.yaml
//
bytedesk_kefu: ^1.6.4
//
assets:
- assets/audio/
- assets/images/chat/
- assets/images/common/
- assets/images/feedback/
iOS
Add the following keys to your Info.plist file, located in ios/Runner/Info.plist:
<key>NSLocalNetworkUsageDescription</key>
<string>Looking for local tcp Bonjour service</string>
<key>NSBonjourServices</key>
<array>
<string>mqtt.tcp</string>
</array>
Android
Add the following Android permissions to the AndroidManifest.xml file, located in android/app/src/main/AndroidManifest.xml:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
First Step: Register Account
Second Step:Login
// appkey和subDomain请替换为真实值
// 获取appkey,登录后台->渠道管理->Flutter->添加应用->获取appkey
String _appKey = '81f427ea-4467-4c7c-b0cd-5c0e4b51456f';
// 获取subDomain,也即企业号:登录后台->客服管理->客服账号->企业号
String _subDomain = "vip";
BytedeskKefu.init(_appKey, _subDomain);
Third Step:Contact
BytedeskKefu.startWorkGroupChat(context, workGroupWid, "title");
Completed
image1 | image2 | image3 |
---|---|---|
Change UI
- create new folder: vendors
- Download latest source code, put into vendors folder
- integrate source in pubspect.yaml
bytedesk_kefu:
path: ./vendors/bytedesk_kefu
Support
- 官网kefux.com
- QQ 3Group: 825257535
- Follow Us:
Other
Libraries
- blocs/contact_bloc/bloc
- blocs/contact_bloc/contact_bloc
- blocs/contact_bloc/contact_event
- blocs/contact_bloc/contact_state
- blocs/feedback_bloc/bloc
- blocs/feedback_bloc/feedback_bloc
- blocs/feedback_bloc/feedback_event
- blocs/feedback_bloc/feedback_state
- blocs/friend_bloc/bloc
- blocs/friend_bloc/friend_bloc
- blocs/friend_bloc/friend_event
- blocs/friend_bloc/friend_state
- blocs/global_bloc/bloc
- blocs/global_bloc/settings_bloc
- blocs/global_bloc/theme_bloc
- blocs/group_bloc/bloc
- blocs/group_bloc/group_bloc
- blocs/group_bloc/group_event
- blocs/group_bloc/group_state
- blocs/help_bloc/bloc
- blocs/help_bloc/help_bloc
- blocs/help_bloc/help_event
- blocs/help_bloc/help_state
- blocs/leavemsg_bloc/bloc
- blocs/leavemsg_bloc/leavemsg_bloc
- blocs/leavemsg_bloc/leavemsg_event
- blocs/leavemsg_bloc/leavemsg_state
- blocs/login_bloc/bloc
- blocs/login_bloc/login_bloc
- blocs/login_bloc/login_event
- blocs/login_bloc/login_state
- blocs/message_bloc/bloc
- blocs/message_bloc/message_bloc
- blocs/message_bloc/message_event
- blocs/message_bloc/message_state
- blocs/profile_bloc/bloc
- blocs/profile_bloc/profile_bloc
- blocs/profile_bloc/profile_event
- blocs/profile_bloc/profile_state
- blocs/thread_bloc/bloc
- blocs/thread_bloc/thread_bloc
- blocs/thread_bloc/thread_event
- blocs/thread_bloc/thread_state
- blocs/ticket_bloc/bloc
- blocs/ticket_bloc/ticket_bloc
- blocs/ticket_bloc/ticket_event
- blocs/ticket_bloc/ticket_state
- bytedesk_kefu
- bytedesk_kefu_method_channel
- bytedesk_kefu_platform_interface
- bytedesk_kefu_web
- http/bytedesk_base_api
- http/bytedesk_device_api
- http/bytedesk_faq_api
- http/bytedesk_feedback_api
- http/bytedesk_friend_api
- http/bytedesk_leavemsg_api
- http/bytedesk_message_api
- http/bytedesk_thread_api
- http/bytedesk_ticket_api
- http/bytedesk_user_api
- model/answer
- model/app
- model/bfeedback
- model/bfeedbackJsonResult
- model/category
- model/codeResult
- model/contact
- model/friend
- model/group
- model/helpArticle
- model/helpCategory
- model/jsonResult
- model/markThread
- model/message
- model/messageProvider
- model/messageZhipuAI
- model/model
- model/oauth
- model/queue
- model/requestAnswer
- model/requestCategory
- model/requestThread
- model/requestThreadFileHelper
- model/requestThreadZhipuAI
- model/robot
- model/thread
- model/threadProvider
- model/threadZhipuAI
- model/uploadJsonResult
- model/user
- model/userJsonResult
- model/wechatId
- model/wechatResult
- model/wechatUserinfo
- model/workGroup
- mqtt/bytedesk_mqtt
- mqtt/lib/mqtt_browser_client
- mqtt/lib/mqtt_client
- mqtt/lib/mqtt_server_client
- mqtt/lib/src/observable/observable
- mqtt/lib/src/observable/src/change_notifier
- mqtt/lib/src/observable/src/observable
- mqtt/lib/src/observable/src/records
- protobuf/message.pb
- protobuf/message.pbenum
- protobuf/message.pbjson
- protobuf/message.pbserver
- protobuf/thread.pb
- protobuf/thread.pbenum
- protobuf/thread.pbjson
- protobuf/thread.pbserver
- protobuf/user.pb
- protobuf/user.pbenum
- protobuf/user.pbjson
- protobuf/user.pbserver
- repositories/contact_repository
- repositories/feedback_repository
- repositories/friend_repository
- repositories/group_repository
- repositories/help_repository
- repositories/leavemsg_repository
- repositories/message_repository
- repositories/profile_repository
- repositories/repositories
- repositories/thread_repository
- repositories/ticket_repository
- repositories/user_repository
- ui/channel/page/channel_detail_page
- ui/channel/page/channel_page
- ui/channel/provider/channel_provider
- ui/chat/page/chat_gpt_page
- ui/chat/page/chat_im_page
- ui/chat/page/chat_kf_page
- ui/chat/page/chat_ls_page
- ui/chat/page/chat_webview_page
- ui/chat/page/video_play_page
- ui/chat/provider/chat_gpt_provider
- ui/chat/provider/chat_im_provider
- ui/chat/provider/chat_kf_provider
- ui/chat/provider/chat_thread_provider
- ui/chat/widget/flutter_html/custom_render
- ui/chat/widget/flutter_html/flutter_html
- ui/chat/widget/flutter_html/html_parser
- ui/chat/widget/flutter_html/src/anchor
- ui/chat/widget/flutter_html/src/css_parser
- ui/chat/widget/flutter_html/src/html_elements
- ui/chat/widget/flutter_html/src/interactable_element
- ui/chat/widget/flutter_html/src/layout_element
- ui/chat/widget/flutter_html/src/replaced_element
- ui/chat/widget/flutter_html/src/styled_element
- ui/chat/widget/flutter_html/src/utils
- ui/chat/widget/flutter_html/style
- ui/chat/widget/message_widget
- ui/faq/page/help_article_detail_page
- ui/faq/page/help_article_list_page
- ui/faq/page/help_page
- ui/faq/provider/help_article_detail_provider
- ui/faq/provider/help_article_list_provider
- ui/faq/provider/help_provider
- ui/feedback/page/feedback_history_page
- ui/feedback/page/feedback_page
- ui/feedback/page/feedback_submit_page
- ui/feedback/provider/feedback_history_provider
- ui/feedback/provider/feedback_provider
- ui/feedback/provider/feedback_submit_provider
- ui/leavemsg/page/leavemsg_history_page
- ui/leavemsg/page/leavemsg_page
- ui/leavemsg/provider/leavemsg_history_provider
- ui/leavemsg/provider/leavemsg_provider
- ui/profile/page/user_profile_page
- ui/profile/provider/user_profile_provider
- ui/rate/page/rate_page
- ui/rate/provider/rate_provider
- ui/ticket/page/ticket_page
- ui/ticket/page/ticket_submit_page
- ui/ticket/provider/ticket_provider
- ui/ticket/provider/ticket_submit_provider
- ui/widget/chat_input
- ui/widget/emoji_picker_flutter/emoji_picker_flutter
- ui/widget/emoji_picker_flutter/src/category_emoji
- ui/widget/emoji_picker_flutter/src/category_icon
- ui/widget/emoji_picker_flutter/src/category_icons
- ui/widget/emoji_picker_flutter/src/config
- ui/widget/emoji_picker_flutter/src/default_emoji_picker_view
- ui/widget/emoji_picker_flutter/src/emoji
- ui/widget/emoji_picker_flutter/src/emoji_lists
- ui/widget/emoji_picker_flutter/src/emoji_picker
- ui/widget/emoji_picker_flutter/src/emoji_picker_builder
- ui/widget/emoji_picker_flutter/src/emoji_picker_internal_utils
- ui/widget/emoji_picker_flutter/src/emoji_picker_utils
- ui/widget/emoji_picker_flutter/src/emoji_skin_tones
- ui/widget/emoji_picker_flutter/src/emoji_view_state
- ui/widget/emoji_picker_flutter/src/recent_emoji
- ui/widget/emoji_picker_flutter/src/triangle_shape
- ui/widget/emoji_picker_view
- ui/widget/empty_widget
- ui/widget/expanded_viewport
- ui/widget/extra_item
- ui/widget/image_choose_widget
- ui/widget/loading_widget
- ui/widget/media_choose_widget
- ui/widget/photo_view_wrapper
- ui/widget/voice_record/custom_overlay
- ui/widget/voice_record/voice_animation
- ui/widget/voice_record/voice_widget
- util/bytedesk_constants
- util/bytedesk_eventbus
- util/bytedesk_events
- util/bytedesk_extraparam
- util/bytedesk_loading
- util/bytedesk_utils
- util/bytedesk_uuid