Skip to main content

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: алдааг тайлбарласан мессеж