Flutter客服支持插件zendesk_flutter_support的使用

Flutter客服支持插件zendesk_flutter_support的使用

本项目是一个新的Flutter插件包,它包括了针对Android和/或iOS平台的特定实现代码。

获取开始

本项目是Flutter的一个起点项目。对于Flutter开发的帮助,可以查看在线文档,其中提供了教程、示例、移动开发指导和完整的API参考。


使用示例

以下是一个使用zendesk_flutter_support插件的完整示例代码。该代码展示了如何初始化插件并打开聊天窗口。

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

import 'package:flutter/services.dart';
import 'package:zendesk_flutter_support/zendesk_flutter_support.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatefulWidget {
  const MyApp({Key? key}) : super(key: key);

  [@override](/user/override)
  State<MyApp> createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  String _platformVersion = '未知';
  final _zendeskPlugin = ZendeskFlutterSupport();

  [@override](/user/override)
  void initState() {
    super.initState();
    initPlatformState();
    initZendesk();
  }

  // 平台消息是异步的,因此我们在异步方法中进行初始化。
  Future<void> initPlatformState() async {
    String platformVersion;
    try {
      platformVersion =
          await _zendeskPlugin.getPlatformVersion() ?? '未知平台版本';
    } on PlatformException {
      platformVersion = '获取平台版本失败。';
    }

    if (!mounted) return;

    setState(() {
      _platformVersion = platformVersion;
    });
  }

  Future<void> initZendesk() async {
    if (!mounted) {
      return;
    }
    // 初始化Zendesk插件,需要提供相应的密钥和URL。
    await ZendeskFlutterSupport.initialize('账户密钥', '应用ID', '客户端ID', 'Zendesk URL');
    // 设置访客信息,如姓名、电子邮件、电话号码和部门。
    await ZendeskFlutterSupport.setVisitorInfo(
          name: '文本客户',
          email: 'testclient@example.com',
          phoneNumber: '0000000000',
          department: '支持');
  }

  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: const Text('插件示例应用'),
        ),
        body: Center(
          child: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            children: [
              Padding(
                padding: const EdgeInsets.all(16),
                child: Text(
                  '运行在: $_platformVersion\n在main.dart中用正确的密钥初始化示例',
                  textAlign: TextAlign.center,
                ),
              ),
              MaterialButton(
                onPressed: openChat,
                color: Colors.blueGrey,
                textColor: Colors.white,
                child: const Text('打开聊天'),
              )
            ],
          ),
        ),
      ),
    );
  }

  Future<void> openChat() async {
    try {
      // 打开聊天窗口,设置各种选项。
      await ZendeskFlutterSupport.startChat(
          isAgentAvailabilityEnabled: true,
          isChatTranscriptPromptEnabled: true,
          isOfflineFormEnabled: true,
          isPreChatFormEnabled: true);
    } on dynamic catch (ex) {
      print('发生错误 $ex');
    }
  }
}

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

1 回复

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


zendesk_flutter_support 是一个用于在 Flutter 应用中集成 Zendesk 客服支持的插件。通过这个插件,你可以轻松地在应用中添加 Zendesk 的客服聊天、帮助中心、工单提交等功能。以下是如何使用 zendesk_flutter_support 插件的详细步骤:

1. 添加依赖

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

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

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

2. 配置 Zendesk

在使用插件之前,你需要在 Zendesk 后台获取一些必要的配置信息,包括:

  • Zendesk Account Key: 你的 Zendesk 账户密钥。
  • App ID: Zendesk 应用的 ID。
  • Client ID: Zendesk 客户端 ID。
  • Zendesk URL: 你的 Zendesk 实例的 URL。

3. 初始化插件

在你的 Flutter 应用启动时,需要初始化 zendesk_flutter_support 插件。通常可以在 main.dart 中的 main 函数中进行初始化:

import 'package:zendesk_flutter_support/zendesk_flutter_support.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();

  await ZendeskFlutterSupport.initialize(
    accountKey: 'YOUR_ZENDESK_ACCOUNT_KEY',
    appId: 'YOUR_APP_ID',
    clientId: 'YOUR_CLIENT_ID',
    zendeskUrl: 'YOUR_ZENDESK_URL',
  );

  runApp(MyApp());
}

4. 使用 Zendesk 功能

初始化完成后,你可以在应用中使用 Zendesk 提供的各种功能。

4.1 打开帮助中心

你可以通过调用 ZendeskFlutterSupport.showHelpCenter() 来打开帮助中心:

ElevatedButton(
  onPressed: () {
    ZendeskFlutterSupport.showHelpCenter();
  },
  child: Text('Open Help Center'),
);

4.2 打开聊天

你可以通过调用 ZendeskFlutterSupport.startChat() 来打开聊天窗口:

ElevatedButton(
  onPressed: () {
    ZendeskFlutterSupport.startChat();
  },
  child: Text('Start Chat'),
);

4.3 提交工单

你可以通过调用 ZendeskFlutterSupport.submitTicket() 来提交工单:

ElevatedButton(
  onPressed: () {
    ZendeskFlutterSupport.submitTicket(
      subject: 'Issue with the app',
      description: 'I am facing an issue with the app...',
    );
  },
  child: Text('Submit Ticket'),
);

5. 处理用户身份

你可以为当前用户设置身份信息,以便在 Zendesk 中识别用户:

ZendeskFlutterSupport.setUserIdentity(
  name: 'John Doe',
  email: 'john.doe@example.com',
);

6. 处理通知

如果你希望在用户收到新消息时显示通知,你可以配置通知处理程序:

ZendeskFlutterSupport.setNotificationHandler(
  onNotificationReceived: (notification) {
    // 处理通知
  },
);

7. 处理错误

在使用插件时,你可能会遇到一些错误。你可以通过监听错误来处理这些问题:

ZendeskFlutterSupport.setErrorHandler(
  onError: (error) {
    // 处理错误
  },
);
回到顶部