Quickblox Webrtc视频调用Swift - 文档理解

时间:2016-09-03 23:59:15

标签: ios swift webrtc quickblox videochat

我正在尝试将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或解析来验证用户?

我在QBRTCConfigappdelegate使用viewDidLoad的位置?我已经尝试了两种方法,并且已经看到它在两种方法中都使用过。

0 个答案:

没有答案