NowChatConfiguration - iOS

  • Versão de lançamento: Zurich
  • Atualizado 31 de jul. de 2025
  • 6 min. de leitura
  • . NowChatConfiguration A classe permite que você configure opções em uma sessão de bate-papo, como mostrar um prompt antes de fechar uma janela de bate-papo, desabilitar recursos ao usar o bate-papo, aplicar diferentes opções de conversa ao usar o bate-papo e configurar componentes de IU no NowChat.

    NowChatConfiguration - NowChatConfiguration(closePrompt: ClosePrompt?, disabledFeatures: [Recurso]? ConversationOptions: [ConversationOption]? UIConfiguration: UIConfiguration? nulo)

    Configura opções para a sessão de bate-papo atual. Este método permite mostrar um prompt antes de fechar uma janela de bate-papo, desabilitar recursos ao usar o bate-papo, aplicar diferentes opções de conversa ao usar o bate-papo e configurar componentes de IU no NowChat.

    Tabela 1. Parâmetros
    Nome Tipo Descrição
    PróximoPrompt ClosePrompt? Aviso a ser exibido antes de fechar a janela de bate-papo associada.

    Ligue para NowChatConfiguration.ClosePrompt() estrutura para definir o valor deste parâmetro.

    Por exemplo:
    closePrompt = NowChatConfiguration.ClosePrompt(
      header = nil,
      message = "Are you sure you want to leave?",
      acceptButtonTitle = "Yes",
      declineButtonTitle = "No"
    )

    Se você não quiser exibir um aviso de encerramento, omita closePrompt argumento no NowChatConfiguration() chamada.

    DesabilitadosFeatures NowChatConfiguration.​Recurso]? Lista de recursos de bate-papo a serem desativados na sessão de bate-papo atual.

    Valor válido: StartNewConversation - Ocultar/desabilitar o. Iniciar Nova conversa botão que aparece em uma janela de bate-papo.

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

    Por exemplo:
    let disabledFeatures: [NowChatConfiguration.Feature]? = [.startNewConversation]

    Se você não quiser desabilitar nenhum recurso, omita disabledFeaturesargumento no NowChatConfiguration() chamada.

    ConversationOptions [NowChatConfiguration.​ConversationOption]? Lista de opções de conversa a serem aplicadas ao NowChat.
    Valores válidos:
    • EndConversationOnExit: A conversa em andamento é encerrada ao sair da janela do NowChat.
    • ForceNewConversation: Força uma nova conversa de bate-papo quando o NowChat é iniciado.

    As opções de conversa disponíveis são definidas em NowChatConfiguration.ConversationOption classe de enumeração.

    Por exemplo:
    let conversationOptions: [NowChatConfiguration.ConversationOption]? = [.endConversationOnExit, .forceNewConversation]

    Se você não quiser desabilitar nenhum recurso, omita conversationOptionsargumento no NowChatConfiguration() chamada.

    UIConfiguration UIConfiguration? Valores UIConfiguration a serem usados para configurar componentes de IU no NowChat.
    Valores válidos:
    • AttachmentUploadButton: Configuração do AttachmentUploadButton mostrado ao lado da entrada de texto durante a conversa com um atendente.
    • CloseButton: Configuração do Encerrar botão Usado para navegação anterior na barra de ferramentas do NowChat.
    Por exemplo:
    let attachmentUploadButton = NowChatConfiguration.AttachmentUploadButton(isVisible: false) // Default isVisible = true
    
    // Configure close button as Text
    let closeButtonText: NowChatConfiguration.CloseButtonType = .text("Exit")
    let uiConfigurationWithText = NowChatConfiguration.UIConfiguration(closeButton: closeButtonText)
    
    // Configure close button as image   
    let buttonImage = UIImage(systemName: "arrow.left.circle") ?? nil 
    var closeButtonImage: NowChatConfiguration.CloseButtonType?   
    if let buttonImage { closeButtonImage = .image(buttonImage) }   
      let uiConfigurationWithImage = NowChatConfiguration.UIConfiguration(closeButton: closeButtonImage)

    Se você quiser usar imagens personalizadas em vez das imagens do sistema fornecidas, as imagens devem ter entre 22 e 44 pixels de largura e 30 pixels de altura, para obter uma resolução ideal.

    Para usar o padrão para qualquer um AttachmentUploadButtonou CloseButtonTypeomita o botão associado do UIConfiguration argumento.

    Para usar o padrão para ambos os botões, omita UIConfigurationparâmetro no NowChatConfiguration() chamada.

    Tabela 2. Retornos
    Tipo Descrição
    NowChatConfiguration Retorna um objeto NowChatConfiguration que você pode passar ao chamar NowChatConfiguration() método.

    O exemplo de código a seguir mostra como chamar este método para configurar a IU do bate-papo.

    func makeChatScreen() -> UIViewController? {
      let closePrompt = NowChatConfiguration.ClosePrompt(
        header: nil,
        message: "Are you sure you want to leave?",
        acceptButtonTitle: "Yes",
        declineButtonTitle: "No"
      )
    
      let disabledFeatures: [NowChatConfiguration.Feature]? = [.startNewConversation]
    
      let conversationOptions: [NowChatConfiguration.ConversationOption]? = [.endConversationOnExit, .forceNewConversation] 
    
      let attachmentUploadButton = NowChatConfiguration.AttachmentUploadButton(isVisible: false) 
    
      // Configure close button as Text
      let closeButtonText: NowChatConfiguration.CloseButtonType = .text("Exit")
      let uiConfigurationWithText = NowChatConfiguration.UIConfiguration(closeButton: closeButtonText, attachmentUploadButton: attachmentUploadButton) 
     
      // Configure close button as image 
      let buttonImage = UIImage(systemName: "arrow.left.circle") ?? nil 
    
      var closeButtonImage: NowChatConfiguration.CloseButtonType?
      if let buttonImage {
        closeButtonImage = .image(buttonImage)
      }
      let uiConfigurationWithImage = NowChatConfiguration.UIConfiguration(closeButton: closeButtonImage, attachmentUploadButton: attachmentUploadButton)    
    
      let chatConfiguration = NowChatConfiguration(closePrompt: closePrompt, 
        disabledFeatures: disabledFeatures,
        conversationOptions: conversationOptions,
        uiConfiguration: uiConfigurationWithImage)
    
      let result = chatService.makeChatUI(theme: CarrascoChatTheme(chatColors: ChatColors()), chatConfiguration: chatConfiguration)  
    
      switch result { 
        case .success(let chatViewController):
          return chatViewController
        case .failure(let error):
          debugPrint("Chat screen creation failed with error: \(error)")
          return nil
      }
    }

    NowChatConfiguration - AttachmentUploadButton(isVisible: Boolian

    Define as configurações de IU a serem aplicadas ao botão Carregar anexo que aparece ao lado da entrada de texto ao conversar com um atendente.

    AttachmentUploadButton é uma estrutura do NowChatConfiguration classe.

    Tabela 3. Parâmetros
    Nome Tipo Descrição
    IsVisible Booliano Sinalizador que indica a visibilidade do botão Carregar anexo.
    Valores válidos:
    • Verdadeiro: O botão Carregar anexo está visível.
    • Falso: O botão Carregar anexo está oculto.

    Padrão: verdadeiro

    Tabela 4. Retornos
    Tipo Descrição
    Nenhum(a)

    O exemplo de código a seguir mostra como ocultar o AttachmentUploadButton.

    func makeChatScreen() -> UIViewController? {
      let attachmentUploadButton = NowChatConfiguration.AttachmentUploadButton(isVisible: false)
      let uiConfigurationWithAttachmentButton = NowChatConfiguration.UIConfiguration(attachmentUploadButton: attachmentUploadButton)         
    
      let chatConfiguration = NowChatConfiguration(uiConfiguration: uiConfigurationWithAttachmentButton) 
    
      let result = chatService.makeChatUI(theme: CarrascoChatTheme(chatColors: ChatColors()), chatConfiguration: chatConfiguration) 
    
      switch result {
        case .success(let chatViewController):
          return chatViewController
        case .failure(let error):
          debugPrint("Chat screen creation failed with error: \(error)")
          return nil
      }
    }

    NowChatConfiguration - ClosePrompt(cabeçalho: Cadeia de caracteres?, mensagem: Cadeia de caracteres, acceptButtonTitle: Cadeia de caracteres, declineButtonTitle: Cadeia de caracteres)

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

    Tabela 5. 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 texto principal do prompt.
    AcceptButtonTitle Cadeia de caracteres Texto a ser exibido no botão primário do prompt para fechar a janela de bate-papo.
    DeclineButtonTitle Cadeia de caracteres Texto a ser exibido no botão secundário do prompt que ignora 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
      }
    }

    NowChatConfiguration - UIConfiguration(closeButton: CloseButtonType? AttachmentUploadButton: AttachmentUploadButton? nulo)

    Cria e retorna um objeto UIConfiguration com base nos parâmetros passados. Em seguida, você passa este objeto para NowChatConfiguration() Construtor para configurar componentes de IU no NowChat.

    UIConfiguration() é uma estrutura do NowChatConfiguration classe.

    Tabela 6. Parâmetros
    Nome Tipo Descrição
    CloseButton CloseButtonType? Configuração do CloseButtonType Que aparece na barra de ferramentas do NowChat e é usado para navegação de volta.
    Valores válidos:
    • Imagem (UIImage): Crie um botão Fechar com uma imagem.
    • Texto (cadeia de caracteres): Crie um botão Fechar como texto. Use isso para passar um nome personalizado para o botão Voltar.

    Disponível CloseButtonType as opções são definidas em NowChatConfiguration.CloseButtonType classe de enumeração.

    Por exemplo:
    func makeChatScreen() -> UIViewController? {
      // Configure close button as Text
      let closeButtonText: NowChatConfiguration.CloseButtonType = .text("Exit")
      let uiConfigurationWithText = NowChatConfiguration.UIConfiguration(closeButton: closeButtonText)
    
      // Configure close button as image
      let buttonImage = UIImage(systemName: "arrow.left.circle") ?? nil
    
      var closeButtonImage: NowChatConfiguration.CloseButtonType?
      if let buttonImage {
        closeButtonImage = .image(buttonImage)
      }
      let uiConfigurationWithImage = NowChatConfiguration.UIConfiguration(closeButton: closeButtonImage)
    
      let chatConfiguration = NowChatConfiguration(uiConfiguration: uiConfigurationWithImage) 
    
      // or 
      // let chatConfiguration = NowChatConfiguration(uiConfiguration: uiConfigurationWithText) 
    
    AttachmentUploadButton AttachmentUploadButton? Configuração do AttachmentUploadButton mostrado ao lado da entrada de texto durante a conversa com um atendente.

    Ligue para NowChatConfiguration - AttachmentUploadButton(isVisible: Boolian método para definir o valor deste parâmetro.

    Por exemplo:
    let attachmentUploadButton = NowChatConfiguration.AttachmentUploadButton(isVisible: false)
    let uiConfigurationWithAttachmentButton = NowChatConfiguration.UIConfiguration(attachmentUploadButton: attachmentUploadButton)         
    
    let chatConfiguration = NowChatConfiguration(uiConfiguration: uiConfigurationWithAttachmentButton)
    Tabela 7. Retornos
    Tipo Descrição
    Objeto Objeto de configuração de IU

    O exemplo de código a seguir mostra como chamar UIConfiguration() Subclasse para definir a configuração da IU do bate-papo.

    func makeChatScreen() -> UIViewController? {
    
      let attachmentUploadButton = NowChatConfiguration.AttachmentUploadButton(isVisible: false)
    
      // Configure close button as image
      let buttonImage = UIImage(systemName: "arrow.left.circle") ?? nil
    
      var closeButtonImage: NowChatConfiguration.CloseButtonType?
      if let buttonImage {
        closeButtonImage = .image(buttonImage)
      }
      let uiConfigurationWithImage = NowChatConfiguration.UIConfiguration(closeButton: closeButtonImage, attachmentUploadButton: attachmentUploadButton)         
    
      let chatConfiguration = NowChatConfiguration(uiConfiguration: uiConfigurationWithImage) 
    
      let result = chatService.makeChatUI(theme: CarrascoChatTheme(chatColors: ChatColors()), chatConfiguration: chatConfiguration)
    
      switch result { 
        case .success(let chatViewController):
          return chatViewController
        case .failure(let error):
          debugPrint("Chat screen creation failed with error: \(error)")
          return nil
      }
    }