Flutter在线客服插件idesk_live_chat的使用

Flutter在线客服插件idesk_live_chat的使用

IdeskLiveChat Flutter SDK

IdeskLiveChat Flutter SDK 允许你轻松地将实时聊天功能集成到你的Android和iOS应用中。本README提供了如何使用该库以及如何在你的应用中开始使用实时聊天的概述。

安装

在你的 pubspec.yaml 文件中添加 idesk_live_chat 作为依赖项。

dependencies:
  idesk_live_chat: ^x.x.x

然后运行 flutter pub get 来获取依赖项。

前提条件

此应用使用了 flutter_inappwebview 版本5.8.0。请确保你已经正确配置了它,然后再使用此包。

详见 flutter_inappwebview 文档以获取更多信息。

使用

要在点击按钮时打开聊天窗口,请遵循以下步骤:

  1. 在你的dart文件顶部导入必要的类:
import 'package:idesk_live_chat/idesk_chat_config.dart';
import 'package:idesk_live_chat/idesk_live_chat.dart';
  1. 在调用实时聊天小部件配置之前,你需要一个配置。创建一个 IDeskLiveChatConfig 对象,并传入所需参数:
IDeskLiveChatConfig config = IDeskLiveChatConfig(
  resourceUri: "xxxx.idesk360.com", // 必填
  appUri: "xxx.idesk360.com", // 必填
  pageId: "xxxxxxx", // 必填
  miscellaneous: {"float": 0}, // 可选
  customerInfo: {"name": "xxx", "rmn": "xxx"}, // 可选
);

请替换上述值为你从 Idesk360 获取的实际配置信息。

  1. 调用 IDeskLiveChat 状态fulWidget,在你想要使用实时聊天选项的地方:
IDeskLiveChat(config: config);

就这样!你可以在应用中看到实时聊天UI了。

附加配置

你可以通过修改 IDeskLiveChatConfig 对象来进一步自定义聊天窗口和行为。

许可证

此SDK在 MIT 许可下发布。

支持

如果你遇到任何问题或有任何疑问,请联系我们的支持团队。

示例代码

以下是完整的示例代码,展示了如何在应用中使用 idesk_live_chat 插件:

import 'package:flutter/material.dart';
import 'package:idesk_live_chat/idesk_chat_config.dart';
import 'package:idesk_live_chat/idesk_live_chat.dart';

void main() {
  WidgetsFlutterBinding.ensureInitialized();
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        colorScheme: ColorScheme.fromSeed(seedColor: const Color(0xFFE83A38)),
        useMaterial3: true,
      ),
      home: Scaffold(
        appBar: AppBar(
          backgroundColor: const Color(0xFFE83A38),
          title: const Text('IDesk Flutter Chat SDK', style: TextStyle(color: Colors.white)),
        ),
        body: IDeskLiveChat(
          config: IDeskLiveChatConfig(
            resourceUri: "xxxx.idesk360.com", // 必填
            appUri: "xxx.idesk360.com", // 必填
            pageId: "xxxxxxx", // 必填
            miscellaneous: {"float": 0}, // 可选
            customerInfo: {"name": "xxx", "rmn": "xxx"}, // 可选
          ),
        ),
      ),
    );
  }
}

更多关于Flutter在线客服插件idesk_live_chat的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter在线客服插件idesk_live_chat的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


idesk_live_chat 是一个用于在 Flutter 应用中集成在线客服功能的插件。它允许用户与应用内的客服进行实时聊天,支持发送文本、图片等消息类型。以下是如何在 Flutter 项目中使用 idesk_live_chat 的基本步骤:

1. 添加依赖

首先,你需要在 pubspec.yaml 文件中添加 idesk_live_chat 插件的依赖。

dependencies:
  flutter:
    sdk: flutter
  idesk_live_chat: ^1.0.0  # 请使用最新版本

然后运行 flutter pub get 来获取依赖。

2. 初始化插件

在你的 Dart 代码中,初始化 idesk_live_chat 插件。通常,你可以在 main.dart 或某个初始化函数中进行初始化。

import 'package:idesk_live_chat/idesk_live_chat.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  
  // 初始化 iDesk Live Chat
  await IdeskLiveChat.initialize(
    appId: 'YOUR_APP_ID',  // 替换为你的应用ID
    userId: 'YOUR_USER_ID', // 替换为用户ID
    userName: 'YOUR_USER_NAME', // 替换为用户名称
  );

  runApp(MyApp());
}

3. 启动在线客服

在你的应用中,你可以通过调用 IdeskLiveChat.startChat() 来启动在线客服界面。

import 'package:flutter/material.dart';
import 'package:idesk_live_chat/idesk_live_chat.dart';

class ChatScreen extends StatelessWidget {
  [@override](/user/override)
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('在线客服'),
      ),
      body: Center(
        child: ElevatedButton(
          onPressed: () {
            // 启动在线客服
            IdeskLiveChat.startChat();
          },
          child: Text('开始聊天'),
        ),
      ),
    );
  }
}

4. 自定义配置

idesk_live_chat 提供了一些配置选项,允许你自定义客服界面的外观和行为。你可以在初始化时或启动聊天时传递这些配置。

await IdeskLiveChat.initialize(
  appId: 'YOUR_APP_ID',
  userId: 'YOUR_USER_ID',
  userName: 'YOUR_USER_NAME',
  config: IdeskLiveChatConfig(
    themeColor: Colors.blue, // 主题颜色
    welcomeMessage: '您好,请问有什么可以帮您?', // 欢迎消息
    // 其他配置项
  ),
);

5. 处理事件

你可以监听 idesk_live_chat 的事件,例如消息接收、客服连接状态等。

IdeskLiveChat.onMessageReceived((message) {
  print('收到消息: $message');
});

IdeskLiveChat.onConnectionStatusChanged((status) {
  print('连接状态: $status');
});

6. 获取历史消息

你可以使用 IdeskLiveChat.getHistoryMessages() 来获取用户与客服的聊天历史记录。

List<Message> historyMessages = await IdeskLiveChat.getHistoryMessages();

7. 退出聊天

当用户退出聊天时,你可以调用 IdeskLiveChat.logout() 来清理会话。

IdeskLiveChat.logout();

8. 处理异常

在调用 idesk_live_chat 的 API 时,可能会抛出异常。你可以使用 try-catch 来捕获并处理这些异常。

try {
  await IdeskLiveChat.startChat();
} catch (e) {
  print('启动聊天失败: $e');
}

9. 处理用户权限

如果你的应用需要访问相机或相册来发送图片,请确保你已经在 AndroidManifest.xmlInfo.plist 中添加了相应的权限。

10. 测试

最后,确保在实际设备上测试你的应用,以确保在线客服功能正常工作。

示例代码

以下是一个完整的示例代码,展示了如何在 Flutter 应用中使用 idesk_live_chat

import 'package:flutter/material.dart';
import 'package:idesk_live_chat/idesk_live_chat.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  
  await IdeskLiveChat.initialize(
    appId: 'YOUR_APP_ID',
    userId: 'YOUR_USER_ID',
    userName: 'YOUR_USER_NAME',
    config: IdeskLiveChatConfig(
      themeColor: Colors.blue,
      welcomeMessage: '您好,请问有什么可以帮您?',
    ),
  );

  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      home: ChatScreen(),
    );
  }
}

class ChatScreen extends StatelessWidget {
  [@override](/user/override)
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('在线客服'),
      ),
      body: Center(
        child: ElevatedButton(
          onPressed: () {
            IdeskLiveChat.startChat();
          },
          child: Text('开始聊天'),
        ),
      ),
    );
  }
}
回到顶部