NowChatConfiguration – iOS

  • Freigeben Version: Zurich
  • Aktualisiert 31. Juli 2025
  • 6 Minuten Lesedauer
  • Die NowChatConfiguration Mit der Klasse können Sie Optionen in einer Chatsitzung konfigurieren, z. B. das Anzeigen einer Eingabeaufforderung vor dem Schließen eines Chatfensters, das Deaktivieren von Funktionen während der Verwendung des Chats, das Anwenden verschiedener Konversationsoptionen bei Verwendung des Chats und das Konfigurieren von UI-Komponenten in NowChat.

    NowChatConfiguration – NowChatConfiguration(closePrompt: ClosePrompt?, disabledFeatures: [Feature]? = Nil, Konversationsoptionen: [Konversationsoption]? = Nil, uiConfiguration: UIConfiguration? = Null)

    Konfiguriert Optionen für die aktuelle Chatsitzung. Mit dieser Methode können Sie vor dem Schließen eines Chatfensters eine Eingabeaufforderung anzeigen, Funktionen während der Verwendung des Chats deaktivieren, verschiedene Konversationsoptionen bei Verwendung des Chats anwenden und UI-Komponenten in NowChat konfigurieren.

    Tabelle : 1. Parameter
    Name Typ Beschreibung
    ClosePrompt Aufforderung schließen? Aufforderung, die angezeigt werden soll, bevor das zugehörige Chatfenster geschlossen wird.

    Rufen Sie an NowChatConfiguration.ClosePrompt() strukturieren, um den Wert dieses Parameters zu definieren.

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

    Wenn Sie keine Abschlussaufforderung anzeigen möchten, lassen Sie die aus closePrompt Argument in NowChatConfiguration() Rufen Sie an.

    DeaktiviertFeatures [NowChatConfiguration.​Funktion]? Liste der Chatfunktionen, die in der aktuellen Chatsitzung deaktiviert werden sollen.

    Gültiger Wert: StartNewConversation – Ausblenden/Deaktivieren von Starten Sie eine neue Konversation Schaltfläche, die in einem Chatfenster angezeigt wird.

    Die verfügbaren Chatfunktionen sind in definiert NowChatOptions.Funktion Aufzählungsklasse.

    Zum Beispiel:
    let disabledFeatures: [NowChatConfiguration.Feature]? = [.startNewConversation]

    Wenn Sie keine Funktionen deaktivieren möchten, lassen Sie die aus disabledFeaturesArgument in NowChatConfiguration() Rufen Sie an.

    Konversationsoptionen [NowChatConfiguration.​Konversationsoption]? Liste der Konversationsoptionen, die auf NowChat angewendet werden sollen.
    Gültige Werte:
    • EndConversationOnExit: Die laufende Konversation wird beendet, wenn das NowChat-Fenster beendet wird.
    • ForceNewConversation: Erzwingt eine neue Chatkonversation, wenn NowChat startet.

    Die verfügbaren Konversationsoptionen sind in definiert NowChatConfiguration.ConversationOption Aufzählungsklasse.

    Zum Beispiel:
    let conversationOptions: [NowChatConfiguration.ConversationOption]? = [.endConversationOnExit, .forceNewConversation]

    Wenn Sie keine Funktionen deaktivieren möchten, lassen Sie die aus conversationOptionsArgument in NowChatConfiguration() Rufen Sie an.

    UiConfiguration UIKonfiguration? UIConfiguration-Werte, die zum Konfigurieren von UI-Komponenten in NowChat verwendet werden sollen.
    Gültige Werte:
    • AttachmentUploadButton: Konfiguration für AttachmentUploadButton Wird neben der Texteingabe angezeigt, während Sie mit einem Servicemitarbeiter sprechen.
    • CloseButton: Konfiguration für Schaltfläche „Schließen“ Wird für die Rücknavigation in der NowChat-Symbolleiste verwendet.
    Zum Beispiel:
    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)

    Wenn Sie anwenderdefinierte Bilder anstelle der bereitgestellten Systembilder verwenden möchten, müssen die Bilder zwischen 22 und 44 Pixel breit und 30 Pixel hoch sein, um eine optimale Auflösung zu erzielen.

    Dient zur Verwendung des Standardwerts für beide AttachmentUploadButtonOder CloseButtonType, Legen Sie die zugehörige Schaltfläche aus UIKonfiguration Argument.

    Um den Standard für beide Schaltflächen zu verwenden, lassen Sie die aus UIConfigurationParameter in NowChatConfiguration() Rufen Sie an.

    Tabelle : 2. Rückgaben
    Typ Beschreibung
    NowChatConfiguration Gibt ein NowChatConfiguration-Objekt zurück, das Sie beim Aufrufen von übergeben können NowChatConfiguration() Methode.

    Das folgende Codebeispiel zeigt, wie Sie diese Methode aufrufen, um die Chat-UI zu konfigurieren.

    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: Boolean = wahr)

    Definiert die UI-Konfigurationen, die auf die Schaltfläche „Anhang hochladen“ angewendet werden sollen, die neben der Texteingabe angezeigt wird, während Sie mit einem Servicemitarbeiter sprechen.

    AttachmentUploadButton Ist eine Struktur von NowChatConfiguration Klasse.

    Tabelle : 3. Parameter
    Name Typ Beschreibung
    isVisible Boolean Kennzeichnung, die die Sichtbarkeit der Schaltfläche „Anhang hochladen“ angibt.
    Gültige Werte:
    • Wahr: Die Schaltfläche „Anhang hochladen“ ist sichtbar.
    • Falsch: Die Schaltfläche „Anhang hochladen“ ist ausgeblendet.

    Standardwert: wahr

    Tabelle : 4. Rückgaben
    Typ Beschreibung
    Keine

    Das folgende Codebeispiel zeigt, wie die Schaltfläche „AttachmentUploadButton“ ausgeblendet wird.

    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: Zeichenfolge?, Nachricht: Zeichenfolge, accept ButtonTitle: Zeichenfolge, declineButtonTitle: Zeichenfolge)

    Erstellt ein ClosePrompt-Objekt basierend auf den übergebenen Parametern und gibt es zurück. Sie übergeben dieses Objekt dann an NowChatConfiguration() Konstruktor zum Konfigurieren der Optionen zum Schließen der Eingabeaufforderung in einer Chat-Sitzung.

    Tabelle : 5. Parameter
    Name Typ Beschreibung
    header Zeichenfolge Text, der im Header der Eingabeaufforderung angezeigt werden soll.

    Wenn Sie keinen Prompt-Header anzeigen möchten, übergeben Sie „null“.

    Nachricht Zeichenfolge Text, der als Haupttext der Eingabeaufforderung angezeigt werden soll.
    AcceptButtonTitle Zeichenfolge Text, der auf der primären Schaltfläche des Prompts zum Schließen des Chatfensters angezeigt werden soll.
    DeclineButtonTitle Zeichenfolge Text, der auf der sekundären Schaltfläche des Prompts angezeigt werden soll, die den Prompt verwirft.

    Das folgende Codebeispiel zeigt, wie diese Funktion aufgerufen wird.

    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? = Null)

    Erstellt ein UIConfiguration-Objekt basierend auf den übergebenen Parametern und gibt es zurück. Sie übergeben dieses Objekt dann an NowChatConfiguration() Konstruktor zum Konfigurieren von UI-Komponenten in NowChat.

    UIConfiguration() Ist eine Struktur von NowChatConfiguration Klasse.

    Tabelle : 6. Parameter
    Name Typ Beschreibung
    Schaltfläche „close“ Schließfeldtyp? Konfiguration für Schließfeldtyp Wird in der NowChat-Symbolleiste angezeigt und für die Navigation zurück verwendet.
    Gültige Werte:
    • Image (UIImage): Erstellen Sie eine Schaltfläche „Schließen“ mit einem Bild.
    • Text (Zeichenfolge): Erstellen Sie eine Schaltfläche zum Schließen als Text. Verwenden Sie diese Option, um einen anwenderdefinierten Namen für die Schaltfläche „zurück“ zu übergeben.

    Verfügbar Schließfeldtyp Optionen sind in definiert NowChatConfiguration.CloseButtonType Aufzählungsklasse.

    Zum Beispiel:
    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? Konfiguration für AttachmentUploadButton Wird neben der Texteingabe angezeigt, während Sie mit einem Servicemitarbeiter sprechen.

    Rufen Sie an NowChatConfiguration – AttachmentUploadButton(isVisible: Boolean = wahr) Methode zum Definieren des Werts dieses Parameters.

    Zum Beispiel:
    let attachmentUploadButton = NowChatConfiguration.AttachmentUploadButton(isVisible: false)
    let uiConfigurationWithAttachmentButton = NowChatConfiguration.UIConfiguration(attachmentUploadButton: attachmentUploadButton)         
    
    let chatConfiguration = NowChatConfiguration(uiConfiguration: uiConfigurationWithAttachmentButton)
    Tabelle : 7. Rückgaben
    Typ Beschreibung
    Objekt UI-Konfigurationsobjekt

    Das folgende Codebeispiel zeigt, wie der aufgerufen wird UIConfiguration() Unterklasse zum Festlegen der Chat-UI-Konfiguration.

    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
      }
    }