Я пытаюсь использовать пакет flutter_dialogflow
с Dialogflow v2. Я принял все необходимые меры на мой взгляд. Мне нужна помощь, чтобы узнать, пропускаю ли я что-либо.
Мой код -
import 'package:flutter/material.dart';
import 'package:flutter_dialogflow/dialogflow_v2.dart';
class Home extends StatefulWidget {
Home({Key key}) : super(key: key);
@override
_HomeState createState() => _HomeState();
}
class _HomeState extends State<Home> {
String sampleQuery = "travel destinations in india";
void _sendQuery() async {
try {
AuthGoogle _authGoogle = await AuthGoogle(fileJson: "assets/dependencies/dialogflow.json").build();
Dialogflow dialogflow = Dialogflow(authGoogle: _authGoogle, language: Language.english);
AIResponse response = await dialogflow.detectIntent("hi");
print(response.getMessage());
} catch(e) {
print('------------------------------${e.toString()}');
}
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Ask Now'),
),
body: RaisedButton(
onPressed: _sendQuery,
color: Colors.black87,
child: Text('Send Query', style: TextStyle(color: Colors.white)),
),
);
}
}
Обратите внимание:
- Я включил веб-API опция в Dialogflow Integrations
- Я скачал файл JSON и добавил его в каталог и ресурсы в pubspe c .yaml file
- Я проверил путь к файлу много раз (без проблем)
- Моя консоль Google Cloud НЕ проверена на платеж (я не думаю, что это должно вызывать беспокойство)
- Я НЕ ПОДТВЕРЖДАЛ ЭКРАН СОГЛАСИЯ ОСТАЛЬНОГО СОГЛАСИЯ, поскольку я не знаю, что добавить в URL для мобильного приложения
Вот журнал ошибок -
I/flutter (18856): ------------------------------NoSuchMethodError: The method '[]' was called on null.
I/flutter (18856): Receiver: null
I/flutter (18856): Tried calling: []("queryText")
Я считаю, что проблема заключается в AIResponse response = await dialogflow.detectIntent("hi");
строке кода, но не могу узнать почему и как. Может быть, я пропускаю некоторые шаги. Спасибо Youuu!