NowChatConfiguration : iOS
La classe NowChatConfiguration vous permet de configurer des options sur une session de messagerie instantanée, telles que l’affichage d’une invite avant de fermer une fenêtre de messagerie instantanée, la désactivation des fonctionnalités lors de l’utilisation de la messagerie instantanée, l’application de différentes options de conversation lors de l’utilisation de la messagerie instantanée et la configuration de composants d’interface utilisateur dans Now Chat.
NowChatConfiguration : NowChatConfiguration(closePrompt : ClosePrompt ?, disabledFeatures : [Feature] ? = nil, conversationOptions : [ConversationOption] ? = nil, uiConfiguration : UIConfiguration ? = nil)
Configure les options pour la session de messagerie instantanée actuelle. Cette méthode vous permet d’afficher une invite avant de fermer une fenêtre de messagerie instantanée, de désactiver des fonctionnalités lors de l’utilisation de la messagerie instantanée, d’appliquer différentes options de conversation lors de l’utilisation de la messagerie instantanée et de configurer des composants d’interface utilisateur dans Now Chat.
| Nom | Type | Description |
|---|---|---|
| closePrompt | Fermer l’invite ? | Invite à afficher avant de fermer la fenêtre de messagerie instantanée associée. Appelez la structure NowChatConfiguration.ClosePrompt() pour définir la valeur de ce paramètre. Par exemple : Si vous ne souhaitez pas afficher d’invite de fermeture, omettez l’argument closePrompt dans l’appel NowChatConfiguration( ). |
| Fonctionnalités désactivées | [Configuration NowChat.Caractéristique] ? | Liste des fonctionnalités de messagerie instantanée à désactiver dans la session de messagerie instantanée actuelle. Valeur valide : startNewConversation : masquez/désactivez le bouton StartNew Conversation qui apparaît dans une fenêtre de messagerie instantanée. Les fonctionnalités de messagerie instantanée disponibles sont définies dans la classe d’énumération NowChatOptions.Feature . Par exemple : Si vous ne souhaitez désactiver aucune fonctionnalité, omettez l’argument disabledFeatures dans l’appel NowChatConfiguration( ). |
| options de conversation | [Configuration NowChat.ConversationOption] ? | Liste des options de conversation à appliquer à Now Chat. Valeurs valides :
Les options de conversation disponibles sont définies dans la classe d’énumération NowChatConfiguration.ConversationOption . Par exemple : Si vous ne souhaitez désactiver aucune fonctionnalité, omettez l’argument conversationOptions dans l’appel NowChatConfiguration( ). |
| uiConfiguration | UIConfiguration ? | Valeurs UIConfiguration à utiliser pour configurer les composants d’interface utilisateur dans Now Chat. Valeurs valides :
Par exemple : Si vous souhaitez utiliser des images personnalisées au lieu des images système fournies, les images doivent avoir une largeur comprise entre 22 et 44 pixels et une hauteur de 30 pixels, pour une résolution optimale. Pour utiliser la valeur par défaut de AttachmentUploadButton l’un ou l’autre CloseButtonType, omettez le bouton associé de l’argument UIConfiguration . Pour utiliser la valeur par défaut pour les deux boutons, omettez le UIConfiguration paramètre dans l’appel NowChatConfiguration( ). |
| Type | Description |
|---|---|
| Configuration de NowChat | Renvoie un objet NowChatConfiguration que vous pouvez transmettre lors de l’appel de la méthode NowChatConfiguration( ). |
L’exemple de code suivant montre comment appeler cette méthode pour configurer l’interface utilisateur de la messagerie instantanée.
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 : booléen = vrai)
Définit les configurations d’interface utilisateur à appliquer au bouton Charger la pièce jointe qui apparaît à côté de l’entrée de texte lorsque vous parlez avec un agent actif.
AttachmentUploadButton est une structure de la classe NowChatConfiguration .
| Nom | Type | Description |
|---|---|---|
| isVisible | Booléen | Marqueur indiquant la visibilité du bouton Télécharger la pièce jointe. Valeurs valides :
Par défaut : true |
| Type | Description |
|---|---|
| Néant |
L’exemple de code suivant montre comment masquer le 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(header : String ?, message : String, acceptButtonTitle : String, declineButtonTitle : String)
Crée et renvoie un objet ClosePrompt en fonction des paramètres transmis. Vous transmettez ensuite cet objet dans le constructeur NowChatConfiguration() pour configurer les options d’invite de fermeture dans une session de messagerie instantanée.
| Nom | Type | Description |
|---|---|---|
| header | Chaîne | Texte à afficher dans l’en-tête de l’invite. Si vous ne souhaitez pas afficher d’en-tête d’invite, transmettez « nil ». |
| message | Chaîne | Texte à afficher en tant que texte principal de l’invite. |
| acceptButtonTitle | Chaîne | Texte à afficher sur le bouton primaire de l’invite pour fermer la fenêtre de messagerie instantanée. |
| declineButtonTitle | Chaîne | Texte à afficher sur le bouton secondaire de l’invite qui permet de faire disparaître l’invite. |
L’exemple de code suivant montre comment appeler cette fonction.
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 ? = nul)
Crée et renvoie un objet UIConfiguration en fonction des paramètres transmis. Vous transmettez ensuite cet objet dans le constructeur NowChatConfiguration() pour configurer les composants de l’interface utilisateur dans NowChat.
UIConfiguration() est une structure de la classe NowChatConfiguration .
| Nom | Type | Description |
|---|---|---|
| Bouton de fermeture | CloseButtonType ? | Configuration du CloseButtonType qui apparaît sur la barre d’outils NowChat et est utilisé pour la navigation arrière.Valeurs valides :
Les options Par exemple : |
| attachmentUploadButton | Bouton de téléchargement de pièce jointe ? | Configuration de AttachmentUploadButton qui s’affiche à côté de l’entrée de texte lors d’une conversation avec un agent actif.Appelez la NowChatConfiguration : AttachmentUploadButton(isVisible : booléen = vrai) méthode pour définir la valeur de ce paramètre. Par exemple : |
| Type | Description |
|---|---|
| Objet | Objet de configuration de l’interface utilisateur |
L’exemple de code suivant montre comment appeler la sous-classe UIConfiguration() pour définir la configuration de l’interface utilisateur de la messagerie instantanée.
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
}
}