Enviando um sinal
Agora que você se conectou à sessão e possui um objeto de sessão, já pode enviar um Signal. Os Signals são textos ou dados arbitrários enviados em uma sessão, que podem ser direcionados a um cliente específico ou a todos os clientes conectados. Você pode saber mais sobre eles na Guia do desenvolvedor do Vonage Video Signaling. Neste tutorial, você enviará uma mensagem de texto.
- Copie o código a seguir e cole-o abaixo do código existente no seu
VonageVideoSDK.swiftarquivo após oinitfunção:
func sendSignal(type: String, data: String) {
var error: OTError?
session.signal(withType: type , string: data, connection: nil, error: &error)
if let error = error {
print("Session creation error \(error.description)")
} else {
messages.append(.init(text: data, isUsers: true))
}
}
Este código adiciona uma função que será chamada a partir da interface do usuário. session.signal é chamado para enviar a mensagem pelo Signal. session.signal recebe o tipo do Signal e alguns dados. O tipo é opcional, mas pode ser usado para diferenciar os tipos de Signals no seu aplicativo. Se o Signal for enviado com sucesso, ele é adicionado à matriz de mensagens que a interface do usuário está utilizando. Agora, atualize a interface do usuário:
- Abrir
ContentView.swift - Copie o código a seguir sobre o código da visualização existente:
struct ContentView: View {
@StateObject private var sdk = VonageVideoSDK()
@State private var message: String = ""
var body: some View {
VStack {
if (sdk.isSessionConnected) {
List(sdk.messages) { signal in
Text(signal.text)
.listRowSeparator(.hidden)
.frame(maxWidth: .infinity, alignment: signal.isUsers ? .trailing : .leading)
}
HStack {
TextField("Message", text: $message)
Button("Send") {
sdk.sendSignal(type: "msg", data: message)
self.message = ""
}.buttonStyle(.bordered)
}.padding(8)
} else {
ProgressView {
Text("Connecting ...")
.font(.title)
}
}
}
}
}
Este código define, em primeiro lugar, variáveis para um objeto do VonageVideoSDK do anterior e para a mensagem que será inserida. A interface do usuário consiste em um List que exibirá a matriz de a partir do VonageVideoSDK classe, a TextField para inserir uma mensagem e um Button para enviar a mensagem. Quando o botão é pressionado, ele chama a sendSignal função que você acabou de criar.
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.