Conexión a la sesión
A continuación, nos conectaremos a la sesión de Vonage Video. Debes hacer esto antes de poder publicar tu transmisión de audio y video en la sesión o ver las transmisiones de otros participantes.
- Añade un
sessionpropiedad a tu clase:
// NSObject conformance will be useful for dealing with OTSessionDelegate
final class VonageVideoManager: NSObject, ObservableObject {
// Replace with your Vonage Video APP ID
let kAppId = ""
// Replace with your generated session ID
let kSessionId = ""
// Replace with your generated token
let kToken = ""
private var session: OTSession?
/// ...
}
El OTSession está definida en el SDK de iOS. Representa una sesión e incluye métodos para interactuar con la sesión.
- Añade un método para instanciar el anterior
OTSessionobjeto y llamar a suconnect(withToken: error:)método tal y como se muestra a continuación. A continuación, hay que llamarlo; nosotros utilizamos un sencillo VonageVideoManagersetuppara mostrar esa parte:
final class VonageVideoManager: NSObject, ObservableObject {
private var session: OTSession?
public func setup() {
doConnect()
}
private func doConnect() {
session = OTSession(applicationId: kAppId, sessionId: kSessionId, delegate: self)
var error: OTError?
session?.connect(withToken: kToken, error: &error)
if let error {
print(error)
}
}
}
El OTSession() toma tres parámetros:
- Tu ID de aplicación de Vonage Video
- El identificador de sesión
- El objeto que implementa la OTSessionDelegate protocolo
El connect() método del session El objeto conecta la aplicación cliente a la sesión de Vonage Video. Debes conectarte antes de enviar o recibir flujos de audio y vídeo en la sesión (o antes de interactuar con la sesión de cualquier forma). El connect() recibe dos parámetros:
tokenes el token de autenticación para que este cliente se conecte a la sesión.errorse establece en un objeto OTError si se produce un error sincrónico al llamar al método.
- A continuación, implementaremos los métodos de la
OTSessionDelegateprotocolo. Añada el siguiente código al final del archivoVonageVideoManager.swiftdespués del corchete de cierre del archivoVonageVideoManagerclase:
// MARK: - OTSessionDelegate callbacks
extension VonageVideoManager: OTSessionDelegate {
func sessionDidConnect(_ session: OTSession) {
print("The client connected to the session.")
}
func sessionDidDisconnect(_ session: OTSession) {
print("The client disconnected from the session.")
}
func session(_ session: OTSession, didFailWithError error: OTError) {
print("The client failed to connect to the session: \(error).")
}
func session(_ session: OTSession, streamCreated stream: OTStream) {
print("A stream was created in the session.")
}
func session(_ session: OTSession, streamDestroyed stream: OTStream) {
print("A stream was destroyed in the session.")
}
}
Este protocolo incluye métodos para manejar eventos relacionados con la sesión:
- Cuando el cliente se conecta a la sesión de Vonage Video, el
sessionDidConnect(_:)se llama al método. - Si el cliente no logra conectarse a la sesión de Vonage Video, se pasa un objeto OTError al método
session(_: didFailWithError:)método. - Cuando el cliente se desconecta de la sesión de Vonage Video, el
sessionDidDisconnect(_:)se llama al método. - Cuando otro cliente publica un flujo en la sesión de Vonage Video.
- Cuando otro cliente deja de publicar un flujo en la sesión de Vonage Video.
Por ahora, la aplicación muestra un mensaje en la consola del depurador cuando se produce cualquiera de estos eventos.
Depura tu aplicación. Si la aplicación se conecta correctamente a la sesión de Vonage Video, aparecerá el mensaje sessionDidConnect(_:) imprime en la consola de depuración.
Videochat básico
Aprende los conceptos básicos de la plataforma Vonage Video API, incluyendo cómo los usuarios pueden comunicarse a través de vídeo, voz y mensajería. Explora un flujo básico de la Video API de Vonage.