conva_ai_core 0.1.0 conva_ai_core: ^0.1.0 copied to clipboard
This is the flutter plugin for using ConvaAI Core SDK
import 'package:flutter/material.dart';
import 'dart:async';
import 'package:conva_ai_core/conva_ai_core.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatefulWidget {
const MyApp({super.key});
@override
State<MyApp> createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
String _initStatus = 'Initialization Unknown';
@override
void initState() {
super.initState();
initPlatformState();
}
// Platform messages are asynchronous, so we initialize in an async method.
Future<void> initPlatformState() async {
String success = "unknown";
// If the widget was removed from the tree while the asynchronous platform
// message was in flight, we want to discard the reply rather than calling
// setState to update our non-existent appearance.
if (!mounted) return;
setState(() {
_initStatus = success;
});
ConvaAI.init(id: "<AssistantID>", key: "<APIKey>", version: "<Version>");
// Invoke capability API
try {
Response completion =
await ConvaAI.invokeCapability(input: "Hello World");
setState(() {
_initStatus = completion.toString();
});
} catch (error) {
setState(() {
_initStatus = 'Error: ${error.toString()}';
});
}
// Uncomment this to Invoke capability with name API
// try {
// Response completion =
// await ConvaAI.invokeCapabilityWithName(input: "<input_query>", capability: "<your_capability_name>");
// setState(() {
// _initStatus = completion.toString();
// });
// } catch (error) {
// setState(() {
// _initStatus = 'Error: ${error.toString()}';
// });
// }
// Uncomment this to Invoke capability with streaming
// ConvaAI.invokeCapabilityStream(
// input: "<input query>",
// ).listen((response) {
// setState(() {
// _initStatus = response.toString();
// });
// }, onError: (error) {
// setState(() {
// _initStatus = 'Error: ${error.toString()}';
// });
// });
// Uncomment this to Invoke capability with name Streaming
// ConvaAI.invokeCapabilityWithNameStream(
// input: "<input query>",
// capability: "<your_capability_name>"
// ).listen((response) {
// setState(() {
// _initStatus = response.toString();
// });
// }, onError: (error) {
// setState(() {
// _initStatus = 'Error: ${error.toString()}';
// });
// });
}
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: const Text('Plugin example app'),
),
body: Center(
child: Text('$_initStatus\n'),
),
),
);
}
}