NowChatConfiguration - iOS

  • Versão de lançamento: Australia
  • Atualizado 12 de mar. de 2026
  • 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? zero)

    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
    Prompt. De fechamento Prompt de Encerramento? Prompt 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 prompt de encerramento, omita o. closePrompt argumento no NowChatConfiguration() chamada.

    DesativadoRecursos NowChatConfiguration.​Recurso]? Lista de recursos de bate-papo a serem desabilitados 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 o. 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 o. conversationOptionsargumento no NowChatConfiguration() chamada.

    UIConfiguration UIConfiguration? Valores de UIConfiguration a serem usados para configurar componentes de IU no NowChat.
    Valores válidos:
    • AttachmentUploadButton: Configuração para AttachmentUploadButton que é mostrado ao lado da entrada de texto ao conversar com um atendente.
    • CloseButton: Configuração para Botão de fechamento 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 a resolução ideal.

    Para usar o padrão para qualquer um AttachmentUploadButtonou CloseButtonType, omita o botão associado do UIConfiguration argumento.

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

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

    O exemplo de código a seguir mostra como chamar esse 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(isVisível: Booliano

    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 o. NowChatConfiguration() construtor para configurar as opções de fechar prompt 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 rejeita 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? Nil, attachmentUploadButton: AttachmentUploadButton? zero)

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

    UIConfiguration() é uma estrutura do NowChatConfiguration classe.

    Tabela 6. Parâmetros
    Nome Tipo Descrição
    Botão de fechamento 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 de fechamento 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.

    O 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 que é mostrado ao lado da entrada de texto ao conversar com um atendente.

    Ligue para NowChatConfiguration - AttachmentUploadButton(isVisível: Booliano 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 o. 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
      }
    }