环信im flutter有哪些常用API?
环信即时通讯IM Flutter插件是环信官方推出的一款基于Flutter框架的即时通讯解决方案。它为开发者提供了丰富的API,使得开发者可以轻松实现聊天、语音、视频等多种功能。以下将详细介绍环信IM Flutter插件的常用API,帮助开发者快速上手。
一、初始化与配置
- 初始化环信SDK
import 'package:环信im_flutter/环信im_flutter.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: '环信IM Flutter',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: IMHome(),
);
}
}
class IMHome extends StatefulWidget {
@override
_IMHomeState createState() => _IMHomeState();
}
class _IMHomeState extends State {
@override
void initState() {
super.initState();
// 初始化环信SDK
EMClient.getInstance().initialize("你的Appkey", onEMError: (code, message) {
print("初始化失败:$code, $message");
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("环信IM Flutter"),
),
body: Center(
child: Text("初始化成功"),
),
);
}
}
- 配置环信SDK
// 配置环信SDK
EMClient.getInstance().setDebugMode(true);
EMClient.getInstance().setAppInitedCallback((bool isInitSuccess) {
if (isInitSuccess) {
print("环信SDK初始化成功");
} else {
print("环信SDK初始化失败");
}
});
二、登录与注册
- 登录
// 登录
EMClient.getInstance().login("用户名", "密码", onEMError: (code, message) {
print("登录失败:$code, $message");
});
- 注册
// 注册
EMClient.getInstance().register("用户名", "密码", onEMError: (code, message) {
print("注册失败:$code, $message");
});
三、消息发送与接收
- 发送文本消息
// 发送文本消息
var message = EMTextMessageBody(msg: "Hello, IM!");
EMMessage msg = EMMessage.createSendMessage(toChatUsername: "接收者用户名", messageBody: message);
EMClient.getInstance().chatManager().sendMessage(msg, onEMError: (code, message) {
print("发送消息失败:$code, $message");
});
- 接收消息
// 监听消息
EMClient.getInstance().chatManager().addMessageListener((EMMessage message, bool isFromMe, Map ext) {
// 处理消息
print("收到消息:${message.body}");
});
四、语音与视频通话
- 语音通话
// 发起语音通话
var callOptions = EMCallOptions();
callOptions.callerName = "发起者";
callOptions.isVideoCall = false;
callOptions.callerNick = "发起者昵称";
callOptions.callerHeadUrl = "发起者头像URL";
EMClient.getInstance().callManager().makeVoiceCall("接收者用户名", callOptions, onEMError: (code, message) {
print("发起语音通话失败:$code, $message");
});
- 视频通话
// 发起视频通话
var callOptions = EMCallOptions();
callOptions.callerName = "发起者";
callOptions.isVideoCall = true;
callOptions.callerNick = "发起者昵称";
callOptions.callerHeadUrl = "发起者头像URL";
EMClient.getInstance().callManager().makeVideoCall("接收者用户名", callOptions, onEMError: (code, message) {
print("发起视频通话失败:$code, $message");
});
五、群组与聊天室
- 创建群组
// 创建群组
var groupOptions = EMGroupOptions();
groupOptions.maxUsers = 200;
groupOptions.ext = {"群组描述": "这是一个群组"};
EMClient.getInstance().groupManager().createGroup("群组名称", "群组描述", groupOptions, onEMError: (code, message) {
print("创建群组失败:$code, $message");
});
- 加入群组
// 加入群组
EMClient.getInstance().groupManager().joinGroup("群组ID", onEMError: (code, message) {
print("加入群组失败:$code, $message");
});
- 聊天室
// 创建聊天室
var chatroomOptions = EMChatroomOptions();
chatroomOptions.maxUsers = 200;
chatroomOptions.ext = {"聊天室描述": "这是一个聊天室"};
EMClient.getInstance().chatroomManager().createChatroom("聊天室名称", "聊天室描述", chatroomOptions, onEMError: (code, message) {
print("创建聊天室失败:$code, $message");
});
// 加入聊天室
EMClient.getInstance().chatroomManager().joinChatroom("聊天室ID", onEMError: (code, message) {
print("加入聊天室失败:$code, $message");
});
六、其他常用API
- 获取当前用户信息
// 获取当前用户信息
var user = EMClient.getInstance().userManager().getCurrentUser();
print("当前用户:${user.username}");
- 获取好友列表
// 获取好友列表
List friends = EMClient.getInstance().contactManager().getContactList();
print("好友列表:$friends");
- 添加好友
// 添加好友
EMClient.getInstance().contactManager().addContact("好友用户名", onEMError: (code, message) {
print("添加好友失败:$code, $message");
});
- 删除好友
// 删除好友
EMClient.getInstance().contactManager().deleteContact("好友用户名", onEMError: (code, message) {
print("删除好友失败:$code, $message");
});
以上是环信IM Flutter插件的常用API介绍,希望对开发者有所帮助。在使用过程中,请根据实际需求选择合适的API进行开发。如有其他问题,请查阅环信官方文档或咨询环信技术支持。
猜你喜欢:IM小程序