NowChatConfiguration : iOS

  • Rversion finale: Australia
  • Mis à jour 12 mars 2026
  • 7 minutes de lecture
  • 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 de 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 des composants d’interface utilisateur dans Now Chat.

    NowChatConfiguration : NowChatConfiguration(closePrompt : ClosePrompt ?, disabledFeatures : [fonctionnalité] ? = nil, conversationOptions : [ConversationOption] ? = nil, uiConfiguration : UIConfiguration ? = néant)

    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 les 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.

    Tableau 1. Paramètres
    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 :
    closePrompt = NowChatConfiguration.ClosePrompt(
      header = nil,
      message = "Are you sure you want to leave?",
      acceptButtonTitle = "Yes",
      declineButtonTitle = "No"
    )

    Si vous ne souhaitez pas afficher une 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 :
    let disabledFeatures: [NowChatConfiguration.Feature]? = [.startNewConversation]

    Si vous ne souhaitez désactiver aucune fonctionnalité, omettez l’argument disabledFeatures dans l’appel NowChatConfiguration( ).

    conversationOptions [Configuration NowChat.ConversationOption] ? Liste des options de conversation à appliquer à Now Chat.
    Valeurs valides :
    • endConversationOnExit : la conversation en cours prend fin lorsque vous quittez la fenêtre NowChat.
    • forceNewConversation : force une nouvelle conversation de messagerie instantanée au démarrage de NowChat.

    Les options de conversation disponibles sont définies dans la classe d’énumération NowChatConfiguration.ConversationOption .

    Par exemple :
    let conversationOptions: [NowChatConfiguration.ConversationOption]? = [.endConversationOnExit, .forceNewConversation]

    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 :
    • attachmentUploadButton : configuration du AttachmentUploadButton qui s’affiche à côté de l’entrée de texte lors d’une conversation avec un agent actif.
    • closeButton : configuration du CloseButton utilisé pour la navigation arrière dans la barre d’outils NowChat.
    Par exemple :
    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)

    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 pour l’un ou l’autre AttachmentUploadButtonCloseButtonType, 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( ).

    Tableau 2. Renvoie
    Type Description
    Configuration de la messagerie instantanée Now 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 s’affiche à côté de la saisie de texte lors d’une conversation avec un agent actif.

    AttachmentUploadButton est une structure de la classe NowChatConfiguration .

    Tableau 3. Paramètres
    Nom Type Description
    isVisible Booléen Marqueur indiquant la visibilité du bouton Télécharger la pièce jointe.
    Valeurs valides :
    • vrai : le bouton Télécharger la pièce jointe est visible.
    • faux : le bouton Télécharger la pièce jointe est masqué.

    Par défaut : true

    Tableau 4. Renvoie
    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(en-tête : chaîne ?, message : chaîne, acceptButtonTitle : chaîne, declineButtonTitle : chaîne)

    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 de fermeture d’invite dans une session de messagerie instantanée.

    Tableau 5. Paramètres
    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 « nul ».

    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 ignore 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 ? = nil)

    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 d’interface utilisateur dans NowChat.

    UIConfiguration() est une structure de la classe NowChatConfiguration .

    Tableau 6. Paramètres
    Nom Type Description
    closeButton CloseButtonType ? Configuration pour le CloseButtonType qui apparaît dans la barre d’outils NowChat et est utilisé pour la navigation arrière.
    Valeurs valides :
    • image (UIImage) : créez un bouton Fermer avec une image.
    • texte (chaîne) : créez un bouton Fermer sous forme de texte. Utilisez cette option pour donner un nom personnalisé au bouton Précédent.

    Les options CloseButtonType disponibles sont définies dans la classe d’énumération NowChatConfiguration.CloseButtonType .

    Par exemple :
    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) 
    
    Bouton de chargement attachmentUploadButton Bouton de téléchargement de pièce jointe ? Configuration du 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 :
    let attachmentUploadButton = NowChatConfiguration.AttachmentUploadButton(isVisible: false)
    let uiConfigurationWithAttachmentButton = NowChatConfiguration.UIConfiguration(attachmentUploadButton: attachmentUploadButton)         
    
    let chatConfiguration = NowChatConfiguration(uiConfiguration: uiConfigurationWithAttachmentButton)
    Tableau 7. Renvoie
    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
      }
    }