Connexion à la session
Ensuite, nous allons nous connecter à la session Vonage Video. Vous devez le faire avant de pouvoir publier votre flux audio-vidéo dans la session ou de voir les flux des autres participants.
- Ajouter un
sessionà votre classe :
// 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?
/// ...
}
Les OTSession est définie dans le SDK iOS. Elle représente une session et comprend des méthodes permettant d'interagir avec la session.
- Ajouter une méthode d'instanciation de l'ancien
OTSessionet appeler son objetconnect(withToken: error:)comme indiqué ci-dessous. Ensuite, vous devez l'appeler, nous avons utilisé un simple VonageVideoManagersetuppour présenter cette partie :
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)
}
}
}
Les OTSession() prend trois paramètres :
- Votre ID d'application vidéo Vonage
- L'identifiant de la session
- L'objet qui met en œuvre le OTSessionDelegate protocole
Les connect() de la méthode session connecte l'application client à la session Vonage Video. Vous devez vous connecter avant d'envoyer ou de recevoir des flux audio-vidéo dans la session (ou avant d'interagir avec la session de quelque manière que ce soit). L'objet connect() prend deux paramètres :
tokenest le jeton d'authentification permettant à ce client de se connecter à la session.errorest remplacée par un objet OTError si une erreur se produit de manière synchrone lors de l'appel de la méthode.
- Ensuite, nous mettrons en œuvre les méthodes de la classe
OTSessionDelegateprotocole. Ajoutez le code suivant à la fin du fichierVonageVideoManager.swiftaprès le crochet de fermeture du fichierVonageVideoManagerclasse :
// 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.")
}
}
Ce protocole comprend des méthodes pour gérer les événements liés à la session :
- Lorsque le client se connecte à la session vidéo de Vonage, la fonction
sessionDidConnect(_:)est appelée. - Si le client ne parvient pas à se connecter à la session Vonage Video, un objet OTError est transmis à la fonction
session(_: didFailWithError:)méthode. - Lorsque le client se déconnecte de la session vidéo de Vonage, la fonction
sessionDidDisconnect(_:)est appelée. - Lorsqu'un autre client publie un flux dans la session Vonage Video.
- Lorsqu'un autre client cesse de publier un flux dans la session Vonage Video.
Pour l'instant, l'application affiche la console du débogueur lorsque l'un de ces événements se produit.
Déboguez votre application. Si l'application se connecte avec succès à la session In-App Video, l'icône sessionDidConnect(_:) s'affiche sur la console de débogage.
Chat vidéo de base
Apprenez les concepts de base de la plateforme Video API de Vonage, y compris la façon dont les utilisateurs peuvent communiquer par le biais de la vidéo, de la voix et de la messagerie. Explorer un flux de base de l'API Video de Vonage.