Flutter即时通讯插件talkjs_flutter的使用
Flutter即时通讯插件talkjs_flutter的使用
什么是TalkJS?
TalkJS 让您可以在您的市场、按需应用或社交平台上添加用户对用户的聊天功能。有关更多信息,请访问 talkjs.com。
如果您有任何关于 TalkJS 的的问题,请随时联系我们 talkjs.com。
要求
- Dart SDK:
>=2.15.0 <3.0.0
- Flutter:
>=2.8.1
- Android:
minSDKVersion 19
安装
编辑项目 pubspec.yaml
文件中的依赖项部分,如下所示:
dependencies:
talkjs_flutter: ^0.1.0
运行命令:flutter pub get
在命令行中或通过 Android Studio 的“获取依赖项”按钮。
使用
在项目源文件中导入 TalkJS。
import 'package:talkjs_flutter/talkjs_flutter.dart';
然后按照我们的 Flutter 指南 开始在项目中使用 TalkJS。
TalkJS 是完全向前兼容的
我们承诺永远不会打破 API 兼容性。我们可能会废弃某些方法或字段,但绝不会删除它们。如果以前可以使用的东西现在无法使用了,那么这就是一个bug。请随时报告它,我们会尽快修复。
该包正在以 beta 版本发布。原因是与 TalkJS JavaScript SDK 相比,有一些功能在 Flutter SDK 中是不可用的。一旦两个 SDK 在功能上相似,我们将发布 v11.0.0。然而,这并不影响我们始终维护向后兼容性的承诺。因此,您可以放心地将此包用于生产环境。
以下是一个完整的示例 demo:
import 'package:flutter/material.dart';
import 'package:talkjs_flutter/talkjs_flutter.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
title: 'TalkJS Flutter Demo',
theme: ThemeData(
primaryColor: Colors.blue,
),
home: ChatPage(),
);
}
}
class ChatPage extends StatefulWidget {
[@override](/user/override)
_ChatPageState createState() => _ChatPageState();
}
class _ChatPageState extends State<ChatPage> {
final TextEditingController messageController = TextEditingController();
void sendMessage(String message) async {
await TalkJS.sendMessage(message);
setState(() {
messageController.clear();
});
}
[@override](/user/override)
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('TalkJS Flutter Demo'),
),
body: Column(
children: [
Expanded(
child: ListView.builder(
itemCount: messages.length,
itemBuilder: (context, index) {
return ListTile(
title: Text(messages[index].senderName),
subtitle: Text(messages[index].message),
);
},
),
),
Divider(),
Padding(
padding: const EdgeInsets.symmetric(horizontal: 1),
child: TextField(
controller: messageController,
decoration: InputDecoration(
hintText: 'Type your message...',
border: OutlineInputBorder(),
),
),
),
ElevatedButton(
onPressed: () {
sendMessage(messageController.text);
},
child: Text('Send'),
),
],
),
);
}
}
更多关于Flutter即时通讯插件talkjs_flutter的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
1 回复