NowChatOptions - iOS

  • Versão de lançamento: Xanadu
  • Atualizado 1 de ago. de 2024
  • 2 min. de leitura
  • A classe NowChatOptions permite que você configure opções, como mostrar um aviso antes de fechar uma janela de bate-papo ou desabilitar recursos ao usar o bate-papo, em uma sessão de bate-papo.

    NowChatOptions - ClosePrompt (cabeçalho: cadeia de caracteres?, mensagem: cadeia de caracteres, allowButtonTitle: cadeia de caracteres, recusaButtonTitle: cadeia de caracteres)

    Cria e retorna um objeto ClosePrompt com base nos parâmetros passados. Em seguida, você passa este objeto para o método NowChatOptions() para configurar as opções de aviso de fechamento em uma sessão de bate-papo.

    Tabela 1. Parâmetros
    Nome Tipo Descrição
    cabeçalho Cadeia de caracteres Texto a ser exibido no cabeçalho do prompt.

    Se você não quiser exibir um cabeçalho de prompt, passe "nil".

    mensagem Cadeia de caracteres Texto a ser exibido como o texto principal do prompt.
    aceitarBotãoTítulo Cadeia de caracteres Texto a ser exibido no botão primário do prompt para fechar a janela de bate-papo.
    recusarTítuloDoBotão Cadeia de caracteres Texto a ser exibido no botão secundário do prompt que descarta o prompt.

    O exemplo de código a seguir mostra como chamar esta função.

    func makeChatScreen() -> UIViewController? {
      guard let chatService = chatService else { return nil }
      let closePrompt = NowChatOptions.ClosePrompt(
        header: "Close Window",
        message: "Are you sure you want to close the chat window?",
        acceptButtonTitle: "Yes",
        declineButtonTitle: "No")
    
      let disabledFeatures = [.startNewConversation]
        
      let chatOptions = NowChatOptions(closePrompt: closePrompt,
        disabledFeatures: disabledFeatures,
        forceNewConversation: true)
        
      let result = chatService.makeChatUI(theme: CarrascoChatTheme(chatColors: ChatColors()), chatOptions: chatOptions)
        
      switch result {
      case .success(let chatViewController):
        return chatViewController
      case .failure(let error):
        return nil
      }
    }

    NowChatOptions - NowChatOptions(closePrompt: ClosePrompt?, disableFeatures: [Recurso]?, forceNewConversation: Bool)

    Configura opções para a sessão de bate-papo atual. Este método permite que você mostre um aviso antes de fechar uma janela de bate-papo, desabilite recursos ao usar o bate-papo e force uma nova conversa de bate-papo quando o serviço de bate-papo for iniciado.

    Tabela 2. Parâmetros
    Nome Tipo Descrição
    fecharPrompt ObjetoClosePrompt Aviso a ser exibido antes de fechar a janela de bate-papo associada.

    Se você não quiser exibir um aviso de fechamento, passe "nil".

    desabilitadosRecursos [Recurso] Lista de recursos de bate-papo a serem desabilitados na sessão de bate-papo atual.
    Valor válido:
    • startNewConversation: oculte/desabilite o botão Iniciar nova conversa que aparece em uma janela de bate-papo.

    Os recursos de bate-papo disponíveis são definidos na classe de enumeração NowChatOptions.Feature.

    Se você não quiser desabilitar nenhum recurso, passe "nil".

    forçaNovaConversa Booliano Sinalizador que indica se uma nova conversa de bate-papo deve ser forçada quando a sessão de bate-papo for iniciada. Todas as conversas atuais são encerradas.
    Valores válidos:
    • verdadeiro: iniciar uma nova conversa de bate-papo; uma nova janela de bate-papo é aberta.
    • falso: não inicia uma nova conversa de bate-papo; usar a janela de bate-papo existente.

    Padrão: falso

    Tabela 3. Retorna
    Tipo Descrição
    chatOpções Retorna um objeto chatOptions que você pode passar no método NowChatService - makeChatUI(theme: NowChatThemeable, chatOptions: NowChatOptions? = nil) -> Resultado<UIViewController, NowChatServiceError> ).

    O exemplo de código a seguir mostra como chamar esta função.

    func makeChatScreen() -> UIViewController? {
      guard let chatService = chatService else { return nil }
      let closePrompt = NowChatOptions.ClosePrompt(
        header: "Close Window",
        message: "Are you sure you want to close the chat window?",
        acceptButtonTitle: "Yes",
        declineButtonTitle: "No")
    
      let disabledFeatures = [.startNewConversation]
        
      let chatOptions = NowChatOptions(closePrompt: closePrompt,
        disabledFeatures: disabledFeatures,
        forceNewConversation: true)
        
      let result = chatService.makeChatUI(theme: CarrascoChatTheme(chatColors: ChatColors()), chatOptions: chatOptions)
        
      switch result {
      case .success(let chatViewController):
        return chatViewController
      case .failure(let error):
        return nil
      }
    }