Now ChatKonfiguration – iOS

  • Freigeben Version: Yokohama
  • Aktualisiert 30. Januar 2025
  • 6 Minuten Lesedauer
  • Die Now ChatKonfiguration 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 Now Chat.

    NowChatConfiguration – NowChatConfiguration(closePrompt: ClosePrompt?, disabledFeatures: [Funktion]? = 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 Now Chat 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 Now ChatConfiguration.ClosePrompt() strukturieren sie, 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 Aufforderung zum Schließen anzeigen möchten, lassen Sie die aus closePrompt Argument in Now ChatConfiguration() Rufen Sie an.

    DeaktiviertFeatures [Now ChatConfiguration.​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 Jetzt ChatOptions.Funktion Aufzählungsklasse.

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

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

    Konversationsoptionen [Now ChatConfiguration.​Konversationsoption]? Liste der Konversationsoptionen, die auf Now Chat angewendet werden sollen.
    Gültige Werte:
    • EndConversationOnExit: Laufende Konversation wird beendet, wenn das Now Chat-Fenster beendet wird.
    • Erzwingt Neukonversation: Erzwingt eine neue Chatkonversation, wenn Now Chat startet.

    Die verfügbaren Konversationsoptionen sind in definiert Now ChatKonfiguration.Konversationsoption Aufzählungsklasse.

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

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

    UiKonfiguration UIKonfiguration? UIKonfigurationswerte, die zum Konfigurieren von UI-Komponenten in NowChat verwendet werden sollen.
    Gültige Werte:
    • AttachmentUploadButton: Konfiguration für Schaltfläche „AnhangUpload“ 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 Now Chat-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 Standards für beide AttachmentUploadButtonOder CloseButtonType, Lassen Sie die zugehörige Schaltfläche aus dem aus UIKonfiguration Argument.

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

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

    Das folgende Codebeispiel zeigt, wie diese Methode aufgerufen wird, 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
      }
    }

    Now ChatConfiguration – AttachmentUploadButton(isVisible: Boolescher Wert = 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.

    Schaltfläche „AnhangUpload“ Ist eine Struktur von Now ChatKonfiguration 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.

    Standard: Wahr

    Tabelle : 4. Rückgaben
    Typ Beschreibung
    Keine

    Das folgende Codebeispiel zeigt, wie die Schaltfläche „AttachmentUpload“ 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, akzeptButtonTitle: Zeichenfolge, declineButtonTitle: Zeichenfolge)

    Erstellt ein ClosePrompt-Objekt basierend auf den übergebenen Parametern und gibt es zurück. Sie übergeben dieses Objekt dann an Now ChatConfiguration() Konstruktor zum Konfigurieren der Optionen zum Schließen von Prompts in einer Chatsitzung.

    Tabelle : 5. Parameter
    Name Typ Beschreibung
    header Zeichenfolge Text, der im Header des Prompts 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.
    Accept ButtonTitle Zeichenfolge Text, der auf der primären Schaltfläche des Prompts zum Schließen des Chatfensters angezeigt werden soll.
    DelineButtonTitle Zeichenfolge Text, der auf der sekundären Schaltfläche des Prompts angezeigt werden soll, die den Prompt verschließ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
      }
    }

    Now ChatConfiguration – UIConfiguration(closeButton: CloseButtonType? = Nil, attachmentUploadButton: AttachmentUploadButton? = Null)

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

    UIKonfiguration() Ist eine Struktur von Now ChatKonfiguration Klasse.

    Tabelle : 6. Parameter
    Name Typ Beschreibung
    Schaltfläche „Schließen“ Schließfeldtyp? Konfiguration für Schließfeldtyp Wird in der Now Chat-Symbolleiste angezeigt und für die Rücknavigation verwendet.
    Gültige Werte:
    • Bild (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 Now ChatConfiguration.SchließungButtonType 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 Schaltfläche „AnhangUploadButton“? Konfiguration für Schaltfläche „AnhangUpload“ Wird neben der Texteingabe angezeigt, während Sie mit einem Servicemitarbeiter sprechen.

    Rufen Sie an Now ChatConfiguration – AttachmentUploadButton(isVisible: Boolescher Wert = 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 aufgerufen wird UIKonfiguration() 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
      }
    }