Tutorial de bate-papo por texto (iOS)

Visão geral

A API de sinalização do OpenTok permite que os clientes enviem mensagens de texto para outros clientes conectados à sessão do OpenTok. É possível enviar uma mensagem de sinalização para um cliente específico ou para todos os clientes conectados à sessão.

Configurando seu projeto

Para seguir este tutorial:

  1. Clonar o OpenTok Aplicativos de exemplo para iOS repositório no GitHub:

    git clone https://github.com/opentok/opentok-ios-sdk-samples.git
    
  2. No terminal, cd no subdiretório “Signaling” do projeto e, em seguida, execute pod install.

  3. Abra seu projeto no Xcode clicando duas vezes no novo arquivo Signaling.xcworkspace, localizado no diretório Signaling.

  4. Abra o arquivo Config.h e defina o SAMPLE_SERVER_BASE_URL string à URL base do servidor que implementa o aprendendo-opentok-php projeto. Este servidor fornece o ID da sessão e os tokens do OpenTok ao aplicativo de exemplo para iOS. Para obter mais informações, consulte Configurando seu servidor.

Para enviar mensagens de texto entre dois clientes conectados à sessão do OpenTok, você pode executar o aplicativo no Simulador do Xcode e em um dispositivo iOS.

Explorando o código

O exemplo de arquivamento se baseia no Exemplo de chat por vídeo básico, e acrescenta as seguintes funcionalidades:

  • Toque no campo de digitação do chat de texto (com a legenda “Toque aqui para enviar uma mensagem de chat”), digite uma mensagem de chat e toque no botão Retornar.

    A mensagem de texto do chat é enviada aos outros clientes conectados à sessão do OpenTok. Também é possível enviar uma mensagem de chat dos outros clientes para o cliente iOS.

Quando o usuário digita um texto no campo de entrada do chat, o [self sendChatMessage:] o método é chamado:

- (void) sendChatMessage
{
    OTError* error = nil;
    [_session signalWithType:@"chat"
                      string:_chatInputTextField.text
                  connection:nil error:&error];
    if (error) {
        NSLog(@"Signal error: %@", error);
    } else {
        NSLog(@"Signal sent: %@", _chatInputTextField.text);
    }
    _chatTextInputView.text = @"";
}

Esse método chama o [OTSession signalWithType:string:connection:] método. Esse método envia uma mensagem aos clientes conectados à sessão do OpenTok. Cada sinal é definido por um type uma sequência de caracteres que identifica o tipo de mensagem (neste caso, “chat”) e uma sequência de caracteres contendo a mensagem.

Quando outro cliente conectado à sessão envia uma mensagem, a implementação do [OTSessionDelegate session:receivedSignalType:fromConnection:withString:] o método é chamado:

- (void)session:(OTSession*)session receivedSignalType:(NSString*)type fromConnection:(OTConnection*)connection withString:(NSString*)string {
    NSLog(@"Received signal %@", string);
    Boolean fromSelf = NO;
    if ([connection.connectionId isEqualToString:session.connection.connectionId]) {
        fromSelf = YES;
    }
    [self logSignalString:string fromSelf:fromSelf];
}

Este método verifica se o sinal foi enviado pelo cliente iOS local ou por outro cliente conectado à sessão:

Boolean fromSelf = NO;
if ([connection.connectionId isEqualToString:session.connection.connectionId]) {
    fromSelf = YES;
}

O session O argumento representa o objeto OTSession do seu cliente. O objeto OTSession possui um connection imóvel com um connectionId propriedade. A connection O argumento representa a conexão do cliente que enviou a mensagem. Se houver correspondência, o sinal foi enviado pelo aplicativo iOS local.

O método chama o [self logSignalString:] método que exibe a sequência de caracteres da mensagem na visualização de texto para as mensagens de bate-papo recebidas.

Este aplicativo utiliza a API de sinalização do OpenTok para implementar o chat de texto. No entanto, é possível usar a API de sinalização para enviar mensagens a outros clientes (individualmente ou em grupo) conectados à sessão.

Parabéns! Você concluiu o tutorial sobre bate-papo por texto para iOS.
Você pode continuar experimentando e ajustando o código que desenvolveu aqui, ou conferir o Próximos passos abaixo. Para obter mais informações sobre sinalização, consulte o Guia do desenvolvedor de sinalização do OpenTok.

Próximos passos

Quando terminar esta seção, continue desenvolvendo e aprimorando seu aplicativo OpenTok com estes recursos úteis: