NXMClient
Antes de que puedas realizar una llamada, el Client SDK necesita autenticarse en los servidores de Vonage. Las siguientes adiciones son necesarias para ViewController.swift.
NOTA: Tenga en cuenta que ya ha importado NexmoClient en la parte superior del archivo.
Añadir un NXMClient por debajo del callButton.
class ViewController: UIViewController {
var connectionStatusLabel = UILabel()
var callButton = UIButton(type: .roundedRect)
let client = NXMClient.shared
...
}
Añadir el JWT
Al final de viewDidLoadConfigure el delegado del cliente e inicie sesión; asegúrese de sustituir ALICE_JWT para la JWT que creó en un paso anterior. Recuerde que el tiempo de caducidad del token es de 6 horas, por lo que tendrá que generar uno nuevo si es demasiado antiguo.
override func viewDidLoad() {
...
client.setDelegate(self)
client.login(withAuthToken: "ALICE_JWT")
}
El delegado cliente
Para que la parte delegada funcione, es necesario tener ViewController ajustarse a NXMClientDelegate. Al final del archivo, añada esta extensión.
extension ViewController: NXMClientDelegate {
func client(_ client: NXMClient, didReceiveError error: Error) {
print("✆ ‼️ connection error: \(error.localizedDescription)")
DispatchQueue.main.async { [weak self] in
self?.callButton.alpha = 0
self?.connectionStatusLabel.text = error.localizedDescription
}
}
func client(_ client: NXMClient, didChange status: NXMConnectionStatus,
reason: NXMConnectionStatusReason) {
DispatchQueue.main.async { [weak self] in
self?.callButton.alpha = 0
switch status {
case .connected:
self?.connectionStatusLabel.text = "Connected"
self?.callButton.alpha = 1
case .disconnected:
self?.connectionStatusLabel.text = "Disconnected"
case .connecting:
self?.connectionStatusLabel.text = "Connecting"
@unknown default:
self?.connectionStatusLabel.text = "Unknown"
}
}
}
}
Si se encuentra un error, se mostrará connectionStatusLabel se actualiza con el estado de la conexión correspondiente. También, callButton se muestra cuando está conectado.
Construir y ejecutar
Cmd + R para construir y ejecutar de nuevo:

Hacer una llamada de voz dentro de la aplicación
Realiza una llamada de voz desde una aplicación de iOS a un teléfono.