集成单群聊 UIKit
大约 2 分钟
集成单群聊 UIKit
使用单群聊 UIKit 之前,你需要将其集成到你的应用中。
前提条件
- Flutter 3.3.0 或以上版本;
- iOS 11 或以上版本;
- Android 21 或以上版本。
操作步骤
第一步 安装单群聊 UIKit
flutter pub add em_chat_uikit
第二步 添加权限
因为单群聊 UIKit 中包含发送图片和语音的功能,所以需要开启录音权限、摄像头权限和访问图片库的权限。
- iOS: 你需要在
<project root>/ios/Runner/Info.plist
中添加以下权限。
NSPhotoLibraryUsageDescription
NSCameraUsageDescription
NSMicrophoneUsageDescription
- Android:
em_chat_uikit
已经在AndroidManifest.xml
中添加以下权限, 无需再重复添加。
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
第三步 引入头文件
// 导入头文件
import 'package:em_chat_uikit/chat_uikit.dart';
第四步 初始化单群聊 UIKit
项目中用到的组件都需要在 ChatUIKitTheme
内部使用。使用单群聊 UIKit 时,首先要配置 ChatUIKitTheme
。
Widget build(BuildContext context) {
return MaterialApp(
...
builder: (context, child) {
return ChatUIKitTheme(child: child!);
},
);
}
在 App 启动时初始化即时通讯 SDK。
void main() {
ChatUIKit.instance
.init(options: Options(appKey: appkey, autoLogin: false))
.then((value) {
runApp(const MyApp());
});
}
第五步 登录单群聊 UIKit
ChatUIKit
提供以下两种登录方式:
- 使用用户 ID 和密码登录:
ChatUIKit.instance.loginWithPassword(userId: userId, password: password);
- 使用用户 ID 和用户 token 登录:
ChatUIKit.instance.loginWithToken(userId: userId, token: token);
第六步 搭建界面
单群聊 UIKit 提供会话列表、聊天、群组设置和通讯录等组件。你可以使用这些组件搭建界面,这些组件支持自定义,具体可以参考相应组件的文档。
下面以会话列表和聊天组件组成的界面为例:
import 'package:em_chat_uikit/chat_uikit.dart';
import 'package:flutter/material.dart';
class Conversations extends StatefulWidget {
const Conversations({super.key});
State<Conversations> createState() => _ConversationsState();
}
class _ConversationsState extends State<Conversations> {
Widget build(BuildContext context) {
return const ConversationsView();
}
}
第七步 打包 app
安卓打包时,需要在 project/android/app/proguard-rules.pro
文件中(如不存在,新建一个即可)增加以下代码:
-keep class com.hyphenate.** {*;}
-dontwarn com.hyphenate.**