NowChatKonfiguration – iOS

  • Freigeben Version: Yokohama
  • Aktualisiert 30. Januar 2025
  • 6 Minuten Lesedauer
  • Mit der Klasse NowChatConfiguration 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 anderer Konversationsoptionen bei der Verwendung des Chats und das Konfigurieren von UI-Komponenten in NowChat.

    NowChatConfiguration – NowChatConfiguration(closePrompt: ClosePrompt?, disableFeatures: [Feature]? = Null, Konversation: [ConversationOption]? = Null, uiConfiguration: UIConfiguration? = Null)

    Konfiguriert Optionen für die aktuelle Chatsitzung. Mit dieser Methode können Sie eine Eingabeaufforderung anzeigen, bevor Sie ein Chatfenster schließen, Funktionen während der Verwendung des Chats deaktivieren, verschiedene Konversationsoptionen anwenden, wenn Sie den Chat verwenden, und UI-Komponenten in NowChat konfigurieren.

    Tabelle : 1. Parameter
    Name Typ Beschreibung
    closePrompt Prompt schließen? Aufforderung zum Anzeigen vor dem Schließen des zugehörigen Chatfensters.

    Rufen Sie die Struktur NowChatConfiguration.ClosePrompt() auf, 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 keine Aufforderung zum Schließen angezeigt werden soll, lassen Sie das Argument closePrompt im NowChatConfiguration() -Aufruf weg.

    disableFeatures [NowChatConfiguration.​Feature]? Liste der Chatfunktionen, die innerhalb der aktuellen Chatsitzung deaktiviert werden sollen

    Gültiger Wert: startNewConversation: Schaltfläche „ StartNew Conversation“ ausblenden/deaktivieren, die in einem Chatfenster angezeigt wird.

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

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

    Wenn Sie keine Funktionen deaktivieren möchten, lassen Sie das Argument disabledFeatures im NowChatConfiguration() -Aufruf aus.

    Konversationsoptionen [NowChatConfiguration.​ConversationOption]? Liste der Konversationsoptionen, die auf NowChat angewendet werden sollen
    Gültige Werte:
    • endConversationOnExit: Die laufende Konversation wird beim Verlassen des NowChat-Fensters beendet.
    • forceNewConversation: Erzwingt eine neue Chatunterhaltung, wenn NowChat gestartet wird.

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

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

    Wenn Sie keine Funktionen deaktivieren möchten, lassen Sie das Argument conversationOptions im NowChatConfiguration() -Aufruf aus.

    uiConfiguration UI-Konfiguration? UIConfiguration-Werte, die zum Konfigurieren von UI-Komponenten in NowChat verwendet werden.
    Gültige Werte:
    • AnhangHochladenSchaltfläche: Konfiguration für die Schaltfläche „AttachmentUploadSchaltfläche“, die während eines Gesprächs mit einem Servicemitarbeiter neben der Texteingabe angezeigt wird.
    • schließenSchaltfläche: Konfiguration für die Schaltfläche „Schließen“, die für die Zurück-Navigation in der NowChat-Symbolleiste verwendet wird.
    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, sollten die Bilder für eine optimale Auflösung zwischen 22 und 44 Pixel breit und 30 Pixel hoch sein.

    Um den Standardwert für AttachmentUploadButton oder CloseButtonTypezu verwenden, lassen Sie die zugehörige Schaltfläche im Argument UIConfiguration aus.

    Um den Standardwert für beide Schaltflächen zu verwenden, lassen Sie den Parameter UIConfiguration im NowChatConfiguration() -Aufruf aus.

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

    Das folgende Codebeispiel zeigt, wie diese Methode zum Konfigurieren der Chat-UI aufgerufen wird.

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

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

    AttachmentUploadButton ist eine Struktur der NowChatConfiguration -Klasse.

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

    Standardwert: wahr

    Tabelle : 4. Rückgaben
    Typ Beschreibung
    Keine

    Das folgende Codebeispiel zeigt, wie 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, akzeptieren Schaltflächentitel: Zeichenfolge, abgelehnt Schaltflächentitel: Zeichenfolge)

    Erstellt ein ClosePrompt-Objekt und gibt es basierend auf den übergebenen Parametern zurück. Anschließend übergeben Sie dieses Objekt an den Konstruktor NowChatConfiguration(), um die Optionen zum Schließen der Aufforderung innerhalb einer Chatsitzung zu konfigurieren.

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

    Wenn Sie keinen Eingabeaufforderungsheader anzeigen möchten, übergeben Sie „nil“.

    Nachricht Zeichenfolge Text, der als Haupttext der Eingabeaufforderung angezeigt werden soll.
    akzeptierenSchaltflächentitel Zeichenfolge Text, der auf der primären Schaltfläche der Eingabeaufforderung zum Schließen des Chat-Fensters angezeigt werden soll.
    AblehnenSchaltflächeTitel Zeichenfolge Text, der auf der sekundären Schaltfläche der Eingabeaufforderung angezeigt werden soll, die die Eingabeaufforderung schließt.

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

    Erstellt ein UIConfiguration-Objekt auf Grundlage der übergebenen Parameter und gibt es zurück. Anschließend übergeben Sie dieses Objekt an den Konstruktor NowChatConfiguration(), um UI-Komponenten in NowChat zu konfigurieren.

    UIConfiguration() ist eine Struktur der NowChatConfiguration -Klasse.

    Tabelle : 6. Parameter
    Name Typ Beschreibung
    schließenSchaltfläche Schaltflächentyp schließen? Konfiguration für CloseButtonType, die in der NowChat-Symbolleiste angezeigt und für die Zurück-Navigation verwendet wird.
    Gültige Werte:
    • image (UIImage): Erstellt eine Schaltfläche zum Schließen mit einem Bild.
    • text (Zeichenfolge): Erstellt 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.

    Die verfügbaren Optionen CloseButtonType sind in der Aufzählungsklasse NowChatConfiguration.CloseButtonType definiert.

    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, das neben der Texteingabe während eines Gesprächs mit einem Servicemitarbeiter angezeigt wird.

    Rufen Sie die Methode NowChatConfiguration – AttachmentUploadButton(isVisible: Boolesch = wahr) auf, um den Wert dieses Parameters zu definieren.

    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 die Unterklasse UIConfiguration() aufgerufen wird, um die Konfiguration der Chat-UI festzulegen.

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