Recebimento de um sinal
Os sinais são recebidos na sessão. Quando um sinal é recebido, além dos dados que foram enviados, ele conterá um from propriedade que conterá informações sobre quem enviou o Signal. Isso pode ser usado para diferenciar entre os Signals enviados pelo usuário atual e aqueles que ele recebe.
- Copie o código a seguir e cole-o no final do
VonageVideoSDK.swiftarquivo, fora da definição da classe:
extension VonageVideoSDK: OTSessionDelegate {
func sessionDidConnect(_ session: OTSession) {
isSessionConnected = true
}
func sessionDidDisconnect(_ session: OTSession) {
isSessionConnected = false
}
func session(_ session: OTSession, didFailWithError error: OTError) {
print("Session Failed to connect: \(error.localizedDescription)")
}
func session(_ session: OTSession, receivedSignalType type: String?, from connection: OTConnection?, with string: String?) {
if let string = string, let type = type, let connection = connection {
guard type == "msg" else { return }
guard connection.connectionId != self.session.connection?.connectionId else { return }
messages.append(.init(text: string, isUsers: false))
}
}
func session(_ session: OTSession, streamCreated stream: OTStream) {}
func session(_ session: OTSession, streamDestroyed stream: OTStream) {}
}
Este código está em conformidade com o VonageVideoSDK classe para o OTSessionDelegate. O OTSessionDelegate é assim que receberemos atualizações do SDK, por exemplo, se a sessão se conectar ou se desconectar e se houver um Signal recebido. O receivedSignalType A função delegada é chamada quando um Signal é recebido na sessão; vamos verificar se o Signal type está conforme o esperado e a mensagem não é do usuário atual.
Bate-papo básico por texto
Siga este tutorial para criar um chat de texto básico do zero usando a Video API da Vonage. Essa é a maneira mais rápida de desenvolver uma prova de conceito para essa funcionalidade na plataforma de vídeo.