general
SDK татаж авах link
- SDK-г ашигласан жишээ код: Доор байрлах Github repository-н qrtc_ios_client/ui/TRTCMeetingMainViewController.swift
Gitlab --> https://gitlab.com/callpromn/platform-rtc/PlatformRTC-iOS
Шаардлагатай сангууд суулгах
1. QRTCSDK, QRTCRoomClient folder-уудыг Libs folder-т байршуулах2. Podfile дотор доорх сангуудыг нэмэх3. Pod installЗарим сангийн шинэ хувилбарыг (version) дэмжихгүй байх магадлалтай тул доорх хувилбарын дагуу суулгана уу
podfile-д нэмэх:
pod 'Starscream', '~> 3.0.2'
pod 'SwiftyJSON', '~> 4.0'
pod 'HydraAsync'
pod 'RxSwift', '~> 5'
pod 'RxCocoa', '~> 5'
pod 'SnapKit'
pod 'Toast-Swift'
pod 'Material'
pod 'SDWebImage'
pod 'Alamofire', '~> 5.2'
pod 'QRTCSDK', :path => './Libs/QRTCSDK'
pod 'QRTCRoomClient', :path => './Libs/QRTCRoomClient'
post_install do |installer|
installer.generated_projects.each do |proj|
proj.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '11.0'
end
end
end
end
Sdk-г үүсгэж, ашиглах
Анхаарах зүйлс
1. QRTCRoomClient framework-г sdk ашиглах код дотроо import хийн оруулах ( Sdk-г ашиглах Activity дотор )
import QRTCRoomClient
2. RoomListener class-г implement хийх ( QRTCRoomClient framework-г import хийх )
- listener-н method-уудыг ашиглах гэж буй class дотроо override хийж ашиглана.
Жишээ нь:
class TRTCMeetingMainViewController: UIViewController, RoomListener {
func onEnterRoom(result: Int64, reason: String?){
...
}
}
3. RoomClient100 class-н sharedInstance method-г ашиглан RoomClient100-н шинэ объект үүсгэнэ
typealias RtcSdk = RoomClient100 // Class-н нэрийг ашиглахад хялбар нэрээр өөрчилж болно.
var clientSDK: RtcSdk = RtcSdk.sharedInstance()
4. Өрөөнд нэвтрэхээс өмнө бичлэгний encode тохируулах.
Sdk-г идэвхгүй болгох
clientSDK.destroySharedInstance()
Өрөөнд нэвтрэх
clientSDK.enterRoom(params: QRTCParams,scene: QRTCScene)
params: serverUrl, sdkAppId, userSig, userId, userName, roomId, xConferenceToken, acceptLanguage зэрэг хувьсагч агуулсан QRTCParams төрлийн объект
serverUrl: String - video болон audio-г дамжуулах server-н url ( Тестийн сервер: wss://platform-test.callpro.mn/ )
sdkAppId: String - ( RTC-dash-с үүсгэж өгсөн appId )
userId: String - Өрөөнд нэвтрэх хэрэглэгчийн Id ( Өрөөний Id + "_" + тухайн app дээрх хэрэглэгчийн ID roomId_userId )
userName: String - Хурлын өрөөнд бусад хэрэглэгчдэд харагдах хэрэглэгчийн нэр
roomId: String - RTC-dash-с үүсгэж өгсөн appId дээр хурлын нэрийг залгасан ID ( appId_roomName )
xConferenceToken: String - Өрөөнд нэвтрэхэд ашиглагдах Token. Back-end дээр үүсгэнэ. (https://www.npmjs.com/package/rtc-token)
acceptLanguage, userSig: String - Одоогоор ашиглагдахгүй байгаа тул хувьсагчийн утгыг хоосон дамжуулах ( "" )
public enum QRTCScene {
case VideoCall
case AudioCall
case MCUCall
}
Өрөөнөөс гарах
clientSDK.exitRoom()success: Өрөөнөөс амжилттай гарсан эсэх ( Bool )
info: string
clientSDK.exitRoom(){ (success,info) in
if success {
...
} else {
...
}
}
Өрөөнд байгаа хэрэглэгчид рүү msg илгээх
clientSDK.sendCustomCmdMsg(cmdId: Int, data: String)
cmdId: 999 утгатай үед "onRecvRoomTextMsg" listener-т очно. Бусад үед "onRecvRoomCustomMsg" listener-т очно.
data: Бусад хэрэглэгчид рүү илгээх мессеж
Listener
Өрөөнд амжилттай нэвтрэх үед
onEnterRoom( result: Int64, reason: String? )
Өрөөнөөс гарах үед
onExitRoom( reason:Int )
reason: өрөөнөөс гарсан шалтгааныг илэрхийлнэ:
1: Өрөөнөөс хөөгдөх үед
2: Хурлын өрөөг үүсгэсэн хүн хурлыг дуусгасан үед
3: Хурлын өрөөг серверээc хаасан үед