Aussenden eines Signals
Nachdem Sie nun eine Verbindung zur Sitzung hergestellt haben und über ein Sitzungsobjekt verfügen, können Sie nun ein Signal senden. Signale sind beliebige Texte oder Daten, die in einer Sitzung an einen bestimmten Client oder an alle verbundenen Clients gesendet werden können. Mehr über sie erfahren Sie in der Vonage Video Signaling Entwicklerhandbuch. In diesem Lernprogramm werden Sie Text senden.
- Kopieren Sie den folgenden Code und fügen Sie ihn unter dem bestehenden Code in Ihrem
VonageVideoSDK.swiftnach der DateiinitFunktion:
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))
}
}
Dieser Code fügt eine Funktion hinzu, die von der Benutzeroberfläche aus aufgerufen wird. session.signal wird aufgerufen, um den Text als Signal zu senden. session.signal nimmt den Typ des Signals und einige Daten auf. Der Typ ist optional, kann aber verwendet werden, um zwischen den Signaltypen in Ihrer Anwendung zu unterscheiden. Wenn das Signal erfolgreich gesendet wurde, wird es dem Array der Nachrichten hinzugefügt, das die Benutzeroberfläche verwendet. Aktualisieren Sie nun die Benutzeroberfläche:
- Öffnen Sie
ContentView.swift - Kopieren Sie den folgenden Code über den vorhandenen Ansichtscode:
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)
}
}
}
}
}
Dieser Code definiert zunächst Variablen für ein Objekt der Klasse VonageVideoSDK von früher und für die Nachricht, die eingegeben wird. Die Benutzeroberfläche besteht aus einer List die das Array von aus dem VonageVideoSDK Klasse, eine TextField zur Eingabe einer Nachricht und einer Button um die Nachricht zu senden. Wenn die Taste gedrückt wird, ruft sie die sendSignal Funktion, die Sie gerade erstellt haben.
Einfacher Text-Chat
In diesem Tutorial lernen Sie, wie Sie mit der Video API von Vonage einen einfachen Text-Chat von Grund auf aufbauen. Dies ist der schnellste Weg, um einen Proof of Concept für diese Funktionalität auf der Videoplattform zu erstellen.