



我们已经为应用程序创建了一个非常基本的用户界面,现在的任务就是将Dialogflow代理与应用程序集成,以便代理能实时响应用户输入的文本。
下面按以下步骤进行操作。
(1)为了在应用程序中集成Dialogflow,可使用名为flutter_dialogflow的Flutter插件。
注意:
要深入了解此插件,请访问以下网址。
https://pub.dartlang.org/packages/flutter_dialogflow
将以下依赖项添加到pubspec.yaml文件的插件部分。
dependencies:
flutter_dialogflow: ^0.1.0
(2)接下来需要安装依赖。这可以使用以下命令来完成。
$ flutter pub get
也可以通过单击屏幕上显示的选项来完成。在这里,我们将使用dialogflow_v2,所以可在chat_screen.dart文件中导入包。
import 'package:flutter_dialogflow/dialogflow_v2.dart';
(3)添加包含GCP凭据的gcp-api.json文件。这是你在项目控制台上创建Dialogflow代理时下载的。为此,需要创建一个assets文件夹并将gcp-api.json文件放入其中,如图3-16所示。
图3-16
(4)在pubspec.yaml文件的assets部分添加文件路径。
flutter: uses-material-design: true assets: - assets/your_file_downloaded_google_cloud.json
(5)修改_handleSubmitted()以便它可以与代理通信并获得对用户输入的查询的响应。
首先,通过指定assets文件夹的路径来创建一个名为authGoogle的AuthGoogle实例。
接下来,创建一个Dialogflow代理的实例,指定Google身份验证实例以及用于与其通信的语言。在这里,我们选择了英语。
然后使用response.getMessage()获取响应并存储在rsp字符串变量中,在创建ChatMessage实例时传递该变量以确保两个字符串(query和response)在屏幕上正确更新。
图3-17显示了进行上述修改后的应用程序,反映了来自用户的实际查询和来自Dialogflow代理的响应。
接下来,我们将向应用程序添加音频交互功能。
图3-17