我正在尝试将Quickblox
Webrtc
视频通话功能集成到iOS Swift应用中。但是,我在使用他们的SDK&amp ;;时遇到了很多麻烦。 api文档,似乎他们没有一个技术团队来帮助人们对他们的平台提出问题,所以也许我们都可以互相帮助,所以这里有一些问题,我注意到很多人一直在问在StackOverFlow和Github上关于他们的webrtc
SDK。请限制Swift语言的答案。文档链接是
http://quickblox.com/developers/SimpleSample-videochat-ios
到目前为止我的代码:
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
// Override point for customization after application launch.
//Firebase config
FIRApp.configure()
//Quickblox config
QBSettings.setApplicationID(xxxxx)
QBSettings.setAuthKey("xxxxxxxxxxx")
QBSettings.setAuthSecret("xxxxxxxx-xxxx")
QBSettings.setAccountKey("xxxxxxxxxxxxxxxxxxxx")
return true
}
现在我的appdelegate.swift
对于那些给我带来实际videochatviewcontroller
问题的部分。文档在开始时非常模糊,所有内容都是:
//初始化QuickbloxWebRTC并配置信令
//你应该在与之交互之前调用这个方法 QuickbloxWebRTC QBRTCClient.initializeRTC()//何时调用此方法 你使用QuickbloxWebRTC完成了你的工作 QBRTCClient.deinitializeRTC()
我不知道是否要在appdelegate.swift
中调用此内容,或者我应该使用VideoChatViewController's
viewDidLoad
方法调用此方法,还是应该创建一个新方法?
其次,文档说CALL USERS使用这个方法,但它不是一个方法,只是随机变量,它也不告诉它是否转到viewDidLoad
或新创建的方法:< / p>
QBRTCClient.instance().addDelegate(self) // self class must conform to QBRTCClientDelegate protocol
// 2123, 2123, 3122 - opponent's
let opponentsIDs = [3245, 2123, 3122]
let newSession = QBRTCClient.instance().createNewSessionWithOpponents(opponentsIDs, withConferenceType: QBRTCConferenceType.Video)
// userInfo - the custom user information dictionary for the call. May be nil.
let userInfo :[String:String] = ["key":"value"]
newSession.startCall(userInfo)
接下来,他们对接收新会话的方法含糊不清,下面他们提到了self.session,他们从来没有解释这个变量来自何处或是什么
func didReceiveNewSession(session: QBRTCSession!, userInfo: [NSObject : AnyObject]!) {
if self.session != nil {
// we already have a video/audio call session, so we reject another one
// userInfo - the custom user information dictionary for the call from caller. May be nil.
let userInfo :[String:String] = ["key":"value"]
session.rejectCall(userInfo)
}
else {
self.session = session
}
}
quickblox是否要求经过身份验证的Quickblox
用户使用他们的webrtc
,还是可以使用Firebase或解析来验证用户?
我在QBRTCConfig
或appdelegate
使用viewDidLoad
的位置?我已经尝试了两种方法,并且已经看到它在两种方法中都使用过。