general
SDK-г суулгах, үүсгэх
Анхаарах зүйлс1. Өөрийн төслийн pubspec.yaml file дотор qrtc_flutter_plugin package-г суулгана
dependencies:
qrtc_flutter_plugin:
git:
url: https://gitlab.com/callpromn/platform-rtc/PlatformRTC-Flutter.git
ref: main
version: ^0.1.2+3
2. qrtc_flutter_plugin package-г sdk ашиглах код дотроо import хийн оруулах
import 'package:qrtc_flutter_plugin/qrtc_flutter_plugin.dart';
3. QrtcFlutterPlugin class-с шинэ объект үүсгэн method-уудыг ашиглана.
final _qrtcFlutterPlugin = QrtcFlutterPlugin();
await _qrtcFlutterPlugin.createOrEnterRoom(...);
4. Listener ашиглах: _qrtcFlutterPlugin.onMessage.listen((data));
_qrtcFlutterPlugin.onMessage.listen((data) {
var jsonDic = jsonStringToDictionary(data);
switch (jsonDic['functionName']) {
case 'onExitRoom':
...
case 'onRemoteUserLeaveRoom':
jsonDic['data']
...
...
}
});
Өрөөнд нэвтрэх
_qrtcFlutterPlugin.createOrEnterRoom({ required String sdkAppId, required String xConferenceToken, required String serverUrl, required String userId, required String roomId, required String userName })
sdkAppId: String - ( RTC-dash-с үүсгэж өгсөн appId )
xConferenceToken: String - Өрөөнд нэвтрэхэд ашиглагдах Token. Back-end дээр үүсгэнэ. (https://www.npmjs.com/package/rtc-token)
serverUrl: String - video болон audio-г дамжуулах server-н url ( Тестийн сервер: wss://platform-test.callpro.mn/ )
userId: String - Өрөөнд нэвтрэх хэрэглэгчийн Id ( Өрөөний Id + "_" + тухайн app дээрх хэрэглэгчийн ID roomId_userId )
roomId: String - RTC-dash-с үүсгэж өгсөн appId дээр хурлын нэрийг залгасан ID ( appId_roomName )
userName: String - Хурлын өрөөнд бусад хэрэглэгчдэд харагдах хэрэглэгчийн нэр
bool? result = await _qrtcFlutterPlugin.createOrEnterRoom(
sdkAppId: "appId",
xConferenceToken: "token",
serverUrl: "serverUrl",
userId: "userId",
userName: "userName",
roomId: "roomId",
);
_serverStatus = result == true ? "Connected to server" : "Failed to enter room";
Өрөөнөөс гарах
_qrtcFlutterPlugin.exitRoom({ required bool isSilent })
- isSilent: bool - одоогоор ашиглагдахгүй байгаа тул дурын утгыг дамжуулах
Бусад хэрэглэгчдэд харагдах нэрээ солих
_qrtcFlutterPlugin.changeDisplayName({ required String name })
- name: String - Бусад хэрэглэгчдэд харагдах нэр
Listener
Өрөөнөөс гарах үед
functionName : onExitRoom data: { userId: null }
Өрөө устгагдах үед
functionName : onRoomDestroy data: { roomId: "roomId" }
- roomId: String - Устгагдсан өрөөний Id
Бусад хэрэглэгч өрөөнд нэвтрэх үед
functionName : onRemoteUserEnterRoom data: { userId: "userId", userName: "userId" }
userId: String - Өрөөнд нэвтэрсэн хэрэглэгчийн Id ( Өрөөний Id + "_" + тухайн app дээрх хэрэглэгчийн ID roomId_userId )
userName: String - Хурлын өрөөнд бусад хэрэглэгчдэд харагдах тухайн хэрэглэгчийн нэр
Бусад хэрэглэгч өрөөнөөс гарах үед
functionName : onRemoteUserLeaveRoom data: { userId: "userId" }
- userId: String - Өрөөнөөс гарсан хэрэглэгчийн Id ( Өрөөний Id + "_" + тухайн app дээрх хэрэглэгчийн ID roomId_userId )
Хэрэглэгчдэд харагдах нэр өөрчлөгдөх үед
functionName : onDisplayNameChanged data: { userId: "userId", displayName: "name" }
userId: String - Дэлгэцний нэр нь солигдсон хэрэглэгчийн Id ( Өрөөний Id + "_" + тухайн app дээрх хэрэглэгчийн ID roomId_userId )
displayName: String - Хурлын өрөөнд бусад хэрэглэгчдэд харагдах тухайн хэрэглэгчийн өөрчлөгдсөн нэр
Бусад хэрэглэгчээс мессеж ирэх үед
functionName : onRecvRoomTextMsg data: { message: "message", userId: "userId" }
message: Бусад хэрэглэгчээс ирсэн мессеж
userId: Хэрэглэгчийн ID
Бусад хэрэглэгчээс тусгай кодтой мессеж ирэх үед
functionName : onRecvRoomCustomMsg data: { cmd: "cmd", message: "message", userId: "userId" }
cmd: Бусад хэрэглэгчээс илгээсэн тусгай код
message: Бусад хэрэглэгчээс ирсэн мессеж
userId: Хэрэглэгчийн ID
Хэрэглэгчдийн сүлжээний чанар өөрчлөгдөх үед
functionName : onNetworkQuality data: { data: "0" }
- data: Өөрийн сүлжээний чанарыг илэрхийлсэн тоо
0 - Тодорхойгүй,
1 - Маш сайн,
2 - Сайн,
3 - Хэвийн,
4 - Муу,
5 - Маш муу,
6 - Холбогдох боломжгүй
Серверийн холбоосын хугацаа дуусах үед
functionName : onConnectionTimeout
Серверийн холбоос салах үед
functionName : onConnectionLost
Сервертэй дахин холбогдох хүсэлт илгээх үед
functionName : onTryToReconnect
Сервертэй дахин холбогдох үед
functionName : onConnectionRecovery
Алдаа гарах үед
functionName : onErrorMsg data: { code: "code", message: "message" }
code: алдааны утгыг илэрхийлсэн тоо
message: алдааг тайлбарласан мессеж