NowChatConfiguration - iOS
A classe NowChatConfiguration permite que você configure opções em uma sessão de bate-papo, como mostrar um aviso 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?, disableFeatures: [Recurso]? = nil, conversationOptions: [ConversationOption]? = nil, uiConfiguration: UIConfiguration? = nil)
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, aplique diferentes opções de conversa ao usar o bate-papo e configure componentes de IU no NowChat.
| Nome | Tipo | Descrição |
|---|---|---|
| fecharPrompt | ClosePrompt? | Aviso a ser exibido antes de fechar a janela de bate-papo associada. Chame a estrutura NowChatConfiguration.ClosePrompt() para definir o valor deste parâmetro. Por exemplo: Se você não quiser exibir um aviso de fechamento, omita o argumento closePrompt na chamada NowChatConfiguration(). |
| desabilitadosRecursos | [NowChatConfiguration.Recurso]? | Lista de recursos de bate-papo a serem desabilitados na sessão de bate-papo atual. Valor válido: startNewConversation - Ocultar/desativar 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. Por exemplo: Se você não quiser desabilitar nenhum recurso, omita o argumento disabledFeatures na chamada NowChatConfiguration(). |
| conversaOpções | [NowChatConfiguration.ConversationOption]? | Lista de opções de conversa a serem aplicadas ao NowChat. Valores válidos:
As opções de conversa disponíveis são definidas na classe de enumeração NowChatConfiguration.ConversationOption. Por exemplo: Se você não quiser desabilitar nenhum recurso, omita o argumento conversationOptions na chamada NowChatConfiguration(). |
| iuConfiguration | UIConfiguration? | Valores de UIConfiguration a serem usados para configurar componentes de IU no NowChat. Valores válidos:
Por exemplo: 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 uma resolução ideal. Para usar o padrão para AttachmentUploadButton ou CloseButtonType, omita o botão associado do argumento UIConfiguration. Para usar o padrão para ambos os botões, omita o parâmetro UIConfiguration na chamada NowChatConfiguration(). |
| Tipo | Descrição |
|---|---|
| NowChatConfiguration | Retorna um objeto NowChatConfiguration que você pode passar ao chamar o método NowChatConfiguration(). |
O exemplo de código a seguir mostra como chamar este método para configurar a IU de 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: booliano = verdadeiro)
Define as configurações de IU a serem aplicadas ao botão de carregar anexo que aparece ao lado da entrada de texto ao falar com um atendente.
AttachmentUploadButton é uma estrutura da classe NowChatConfiguration.
| Nome | Tipo | Descrição |
|---|---|---|
| IsVisible | Booliano | Sinalizador que indica a visibilidade do botão de carregar anexo. Valores válidos:
Padrão: verdadeiro |
| 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, 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 construtor NowChatConfiguration() para configurar as opções de aviso de fechamento em uma sessão de bate-papo.
| 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
}
}
NowChatConfiguration - UIConfiguration(closeButton: CloseButtonType? = nil, attachmentUploadButton: AttachmentUploadButton? = nil)
Cria e retorna um objeto UIConfiguration com base nos parâmetros passados. Em seguida, você passa este objeto para o construtor NowChatConfiguration() para configurar os componentes de IU no NowChat.
UIConfiguration() é uma estrutura da classe NowChatConfiguration.
| Nome | Tipo | Descrição |
|---|---|---|
| botãoFechar | CloseButtonType? | Configuração do CloseButtonType que aparece na barra de ferramentas do NowChat e é usada para navegação de retorno.Valores válidos:
As opções Por exemplo: |
| attachmentUploadButton | AttachmentUploadButton? | Configuração do AttachmentUploadButton que é mostrado ao lado da entrada de texto durante a conversa com um atendente.Chame o método NowChatConfiguration - AttachmentUploadButton (isVisible: booliano = verdadeiro) para definir o valor deste parâmetro. Por exemplo: |
| Tipo | Descrição |
|---|---|
| Objeto | Objeto de configuração de IU |
O exemplo de código a seguir mostra como chamar a subclasse UIConfiguration() para definir a configuração de 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
}
}