Objective-C

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.m.

NOTA: Tenga en cuenta que ya ha importado NexmoClient en la parte superior del archivo.

Añadir un NXMClient y la conformidad con el NXMClientDelegate a la interfaz .

@interface ViewController () <NXMClientDelegate>
@property UILabel *connectionStatusLabel;
@property NXMClient *client;
@end

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.

- (void)viewDidLoad {
    ...
    
    self.client = NXMClient.shared;
    [self.client setDelegate:self];
    [self.client loginWithAuthToken:@"ALICE_JWT"];
}

El delegado cliente

Para que el delegado funcione, debe tener ViewController ajustarse a NXMClientDelegate. Añade estas dos funciones delegadas a la clase.

- (void)client:(nonnull NXMClient *)client didChangeConnectionStatus:(NXMConnectionStatus)status reason:(NXMConnectionStatusReason)reason {
    dispatch_async(dispatch_get_main_queue(), ^{
        switch (status) {
            case NXMConnectionStatusConnected:
                self.connectionStatusLabel.text = @"Connected";
                break;
            case NXMConnectionStatusConnecting:
                self.connectionStatusLabel.text = @"Connecting";
                break;
            case NXMConnectionStatusDisconnected:
                self.connectionStatusLabel.text = @"Disconnected";
                break;
        }
    });
}

- (void)client:(nonnull NXMClient *)client didReceiveError:(nonnull NSError *)error {
    dispatch_async(dispatch_get_main_queue(), ^{
        self.connectionStatusLabel.text = error.localizedDescription;
    });
}

Si se encuentra un error, se mostrará connectionStatusLabel se actualiza con el estado de la conexión correspondiente.

Construir y ejecutar

Pulse Cmd + R para construir y ejecutar de nuevo:

Interface connected