Chatwidget anpassen

Sie können verschiedene Aspekte des Chatwidgets anpassen, z.B. Layout und Symbole, Farben und Text.

Tipp:

In diesem Artikel werden die verschiedenen Anpassungseigenschaften vorgestellt.

Netzwerkkonfiguration

Sie initialisieren das SDK mit diesen Verbindungseigenschaften. Die Beispiel-App, die mit dem SDK bereitgestellt wird, enthält ein Beispiel für die Einstellung in der Datei scripts/settings.js.
Eigenschaftsname Beschreibung Erforderlich? Standardwert
URI Die URL des Oracle-Chatservers Ja N/V
channelId Die Kanal-ID des Oracle-Webkanals Ja N/V
userId Eine eindeutige ID für den Benutzer. Wenn Sie diese nicht angeben, generiert Oracle Digital Assistant eine. Nein Ein zufällig generierter Wert
clientAuthEnabled Bestimmt, ob sich das SDK mit einem Kanal verbindet, für den die Clientauthentifizierung aktiviert wurde. Wie unter Clientauthentifizierung konfigurieren beschrieben, setzen Sie diese Eigenschaft auf true, um die Verbindung zu einem Kanal mit aktivierter Authentifizierung herzustellen und das JWT-Token zu verwenden. Ja false

Feature-Flags

Verwenden Sie die Feature-Flag-Eigenschaften für:
  • Sichere Verbindungen
  • Ovale Aktionsschaltflächen
  • Vorlesen von Skillantworten
  • Sharing von Anhängen
  • Deaktivierung von Klicks auf vorherige Nachrichten (außerhalb des Fokus)
  • Automatische Vervollständigung der Benutzereingabe
Beispiel:

    <script>
        var chatWidgetSettings = {
            showConnectionStatus: true,
            conversationBeginPosition: 'bottom',
            openChatOnLoad: true,
            position: {bottom: '2px', right: '2px'},
            displayActionAsPills: true,
            initUserHiddenMessage: 'Hello',
            embedded: true,
            targetElement: 'chat-container',    
            embedTopScrollId: 'top-text',
            customHeaderElementId: 'custom-header',
            botButtonIcon: 'images/bot-button.png', 
            logoIcon: 'images/bot-white.png', 
            botIcon: 'images/bot-green.png',        
            personIcon: 'images/user-icon.png',
            URI: YOUR_URI,
            channelId: YOUR_CHANNELID,

         };

...
    </script>

Tipp:

Ab Release 22.08 ist das Einstellungsschema für die Chatwidgetkonfiguration in einem JSON-Standardschemaformat über ein CDN (https://static.oracle.com/cdn/oda/22.8.0/settings-schema.json) verfügbar, mit dem dynamische Konfigurationsbildschirme erstellt werden können.
Eigenschaftsname Beschreibung Erforderlich? Standardwert
alwaysShowSendButton Zeigt die Schaltfläche "Senden" im Chat-Footer an, auch wenn kein Benutzereingabetext vorhanden ist. Nein false
defaultGreetingTimeout Der Standardtimeout in Sekunden, nach dem eine Standardbegrüßungsnachricht angezeigt wird. Nein 5
defaultWaitMessageInterval Das Standardintervall in Sekunden, in dem die Standard-Wartemeldung angezeigt wird. Nein 5
disablePastActions Deaktiviert die Aktionsschaltflächen in einer Skillnachricht, nachdem ein Benutzer mit einer Postback-, Standort- oder Formularweiterleitungsaktion interagiert hat. Die zulässigen Werte sind all, none und postback. Wenn dieser Wert auf all gesetzt ist, werden alle Aktionsschaltflächen der Nachricht bei der Interaktion deaktiviert. Wenn Sie postback festlegen, werden Postback- und Standortaktionen nur deaktiviert. Wenn Sie none festlegen, werden alle Schaltflächen auch nach einer Interaktion aktiviert. Das von dieser Eigenschaft aktivierte Verhalten ist unabhängig von der Konfiguration auf Ebene des digitalen Assistenten zum Deaktivieren der Auswahl früherer Aktionen. Sie müssen die beiden Einstellungen separat festlegen. Nein all
displayActionsAsPills Zeigt ovale Aktionsschaltflächen an. Nein false
enableAttachment Konfiguriert das Sharing von Anhängen. Nein true
enableAttachmentSecurity Bei true werden zusätzliche Header an die Uploadanforderungen für Anhänge übergeben, um sicherzustellen, dass sie nicht heruntergeladen werden können, ohne dass ein gültiges signiertes JWT-Token als Autorisierungsheader übergeben wird.

Aktivieren Sie diese Einstellung nicht, wenn der Skill eine Verbindung zu einer ODA-Instanz mit Version 20.08 herstellt oder auf einer Version vor 20.08 ausgeführt wird. Diese Eigenschaft gilt nur für Verbindungen mit aktivierter Clientauthentifizierung zu Versionen 20.12 und höher der ODA-Plattform.

Nein false
enableAutocomplete Setzen Sie diese Eigenschaft auf true, damit der Skill die Benutzeranforderung automatisch mit den idealen Benutzeranforderungen vervollständigen kann, die auf der Seite "Intent erstellen" als Vorschläge für die automatische Vervollständigung eingegeben wurden. Der Skill zeigt diese Vorschläge an, wenn der Benutzer drei oder mehr Zeichen eingibt. Außerdem werden die Wörter in der Benutzereingabe, die den vorgeschlagenen Phrasen entsprechen, in Fettschrift hervorgehoben. Nein false
enableBotAudioResponse Aktiviert die Äußerung der Antworten eines Skills beim Empfang mit der Web-Sprachsynthese-API. Nein false
enableClearMessage Aktiviert die Schaltfläche "Nachricht löschen" im Chatwidgetheader. Nein false
enableDraggableButton Ermöglicht es Benutzern, die Chatwidgetschaltfläche wegzuziehen, wenn sie Inhalt auf der Webseite blockiert. Dieses Feature funktioniert auch in Android- und iOS Safari-Browsern. Nein false
enableHeadless Mit dieser Option können Sie das Oracle-Web-SDK ohne die UI verwenden, sodass Sie Ihre eigene Chat-UI entwickeln können. Nein false
enableLocalConversationHistory Ermöglicht, dass eine vorherige Unterhaltung, die mit einer angegebenen userId verknüpft ist, im Browser geladen wird, wenn das Widget initialisiert wurde. Nein false
enableLongPolling Verwenden Sie HTTP-Anforderungen, wenn das Web-Socket keine Verbindung herstellen kann. Nein false
enableSecureConnection Konfiguriert sichere Kommunikation (https anstelle von http und wss anstelle von ws). Nein true
enableSpeech Wenn diese Eigenschaft auf true gesetzt ist, aktiviert sie das Mikrofon für die Spracherkennung. Beispiel:
chatWidgetSettings = {
    URI: 'idcs-oda-example.com',
    channelId: '9999b1-f99a-9999-999ee-df9d99999d',
    enableSpeech: true
};
Nein false
enableSpeechAutoSend Bei true (Standard) wird die Sprachantwort des Benutzers automatisch an den Chatserver gesendet (und als gesendete Nachricht im Chatwidget angezeigt). Wenn Sie diese Eigenschaft auf false setzen, wird die Sprachantwort des Benutzers im Nachrichtentextfeld vor dem Senden an den Chatserver gerendert. So kann der Benutzer die Antwort vor dem manuellen Senden ändern oder die Nachricht löschen. Nein true
focusOnNewMessage Legt den Fokus entweder auf das Benutzereingabefeld oder die erste Aktionsschaltfläche in einer Nachricht, wenn eine neue Nachricht empfangen wird.
  • action: Beim Empfang einer Nachricht ist der Fokus die erste Aktionsschaltfläche (wenn die Nachricht Aktionsschaltflächen aufweist). Wenn die Nachricht keine Schaltflächen enthält, wird das Benutzereingabefeld zum Fokus.
  • input: Das Benutzereingabefeld bleibt der Fokus, wenn neue Nachrichten empfangen werden.
Nein input
multiLangChat Damit kann das Chatwidget sowohl die Sprache eines Benutzers erkennen als auch ermöglichen, dass der Benutzer eine bevorzugte Sprache aus einem Dropdown-Menü im Header auswählt. Sie definieren das Menü mit einem Objekt, das die primäre Sprache definiert, und einem Array mit mindestens zwei Sprachtags (dem Array supportedLangs, das unter Mehrsprachiger Chat beschrieben wird). Nein N/V
name Der Name für die Instanz. Stellt einen Namespace für die Instanz bereit und wird als Präfix für die CSS-Klassennamen und Element-IDs verwendet. Nein oda-chat
openChatOnLoad Blendet das Chatwidget ein, wenn die Seite geladen wird. Nein false
openLinksInNewWindow Setzt die Browservoreinstellung des Benutzers außer Kraft, indem Links in einem neuen Fenster geöffnet werden. Diese Einstellung gilt für alle in der Unterhaltung vorhandenen Links, einschließlich Aktionsschaltflächen, Fallback-Links für Anhänge und Kartenlinks. Nein false
showConnectionStatus Damit kann der Verbindungsstatus im Header des Chatwidgets angezeigt werden. Nein false
showPrevConvStatus Zeigt Statusmeldungen am Ende älterer Nachrichten aus vorherigen Unterhaltungen an. Nein true
showTypingIndicator Zeigt eine Chatblase an, wenn auf eine Antwort gewartet wird. Nein true

Funktionalität

Mit den Eigenschaften für die Funktionalität können Sie Folgendes ausführen:
  • Von einem Skill initiierte Unterhaltung imitieren.
  • Inhalt im oberen und unteren Bereich des Chatfensters einbetten, der entweder gescrollt wird oder statisch (angeheftet) ist.
  • Das Gebietsschema festlegen.
  • Debug-Modus festlegen.
  • Das Gebietsschema und die Stimme für die Sprachsynthese festlegen.
Eigenschaftsname Beschreibung Erforderlich? Standardwert
customHeaderElementId Benennt die ID des <div>-Elements, das dem Header des Chatwidgets hinzugefügt wird. Nein N/V
delegate Ein Objekt, das einen Delegaten zum Empfang von Callbacks festlegt, bevor bestimmte Ereignisse in einer Unterhaltung auftreten. Mit dem Objekt delegate kann Code sowohl mit Benutzernachrichten als auch mit Skillantworten interagieren, bevor Nachrichten gesendet und Antworten angezeigt werden. Nein N/V
embedBottomScrollId Die ID des Elements, das als Bildlaufinhalt am Ende des Chats hinzugefügt wird. Mit dieser Eigenschaft können Sie benutzerdefinierten Inhalt in der Unterhaltungsansicht des Chatwidgets hinzufügen. Nein N/V
embedBottomStickyId Die ID des Elements, das für den Sticky-Inhalt am Ende des Chats verwendet wird. Mit dieser Eigenschaft können Sie benutzerdefinierten Inhalt in der Unterhaltungsansicht des Chatwidgets hinzufügen. Nein N/V
embedded Wenn Sie diese Eigenschaft auf true setzen, aktivieren Sie den Embedded-Modus für das Chatwidget. Sie müssen nicht nur diese Eigenschaft festlegen, sondern auch das div-Element, das das Widget enthält, in der Eigenschaft targetElement benennen. Nein false
embeddedVideo Wenn Sie diese Option auf true setzen, werden Links für YouTube-, Daily Motion- und Oracle Video Hub-Videos eingebettet, sodass sie im Chatwidget wiedergegeben werden können. Nein false
embedTopscrollId Die ID des div-Elements, das als Bildlaufinhalt oben im Chatwidget hinzugefügt wird. Nein N/V
embedTopStickyId Die ID des div-Elements, das für den Sticky-Inhalt verwendet wird, der oben im Chatwidget angezeigt wird. Mit dieser Eigenschaft können Sie benutzerdefinierten Inhalt in der Unterhaltungsansicht des Chatwidgets hinzufügen. Beispiel: Das div-Element top-text im folgenden Snippet wird als embedTopStickyId: 'top-text' referenziert:

<div id="top-text" style="padding: 0; text-align: initial">
<p>Talk to Pizzabot to order your pizza.</p>
</div>
Im Web-SDK-Tutorial wird beschrieben, wie Sie diese Eigenschaft konfigurieren und den Bildlauf für Chatwidgetelemente festlegen oder aufheben.
Nein N/V
enableAgentSneakPreview Sendet den vom Benutzer eingegebenen Text zusammen mit dem Eingabestatus an den Agent. Nein false
enableAutocompleteClientCache Aktiviert clientseitiges Caching, um Serveraufrufe zu minimieren, wenn das Feature für die automatische Vervollständigung verwendet wird. Nein false
enableDefaultClientResponse Wenn der Wert auf true gesetzt ist, zeigt der Client Standardantworten an, wenn die Skillantwort verzögert wurde oder wenn keine Antwort vom Skill vorhanden ist. Nein false
enableEndConversation Ermöglicht dem Benutzer, die Unterhaltung zu beenden und die Chatsession zurückzusetzen. Außerdem wird die lokale Unterhaltungshistorie gelöscht, die Verbindung zum Chatserver getrennt und das Widget minimiert Nein true
enableHeaderActionCollapse Blendet die Headeraktionen in einer Menüschaltfläche aus, wenn die Symbolanzahl mehr als zwei beträgt. Nein true
enableResizableWidget Ermöglicht dem Benutzer, die Größe des Chatwidgets nach dem Erweitern zu ändern. Wenn sich das Widget auf der rechten Seite der Webseite befindet, passen die Benutzer die Abmessungen an, indem sie den oberen Rand, den linken Rand oder die obere linke Ecke ziehen. Wenn das Widget auf der linken Seite platziert wird, ändern die Benutzer die Größe des oberen Randes, des rechten Randes oder der oberen rechten Ecke. Nein false
enableSendTypingStatus Sendet den Eingabestatus des Benutzers an den Live-Agent. Nein false
enableTabsSync Synchronisiert Unterhaltungsnachrichten auf verschiedenen Registerkarten für eine bestimmte userId und channelId. Nein true
enableVoiceOnlyMode Aktiviert den reinen Sprachmodus. Wenn Sie den Nur-Sprachmodus aktivieren, müssen Benutzer nicht jedes Mal auf die Mikrofonschaltfläche klicken, nachdem sie eine Botnachricht erhalten haben. Bei aktiviertem Modus startet das SDK automatisch die Spracherkennung, sobald das TTS (Text-to-Speech) für die empfangene Nachricht ausgesprochen wurde. Nein false
hotkeys Ein Objekt, das eine Liste mit Tastaturtasten enthält, die Elemente mit der ALT-Taste in Kombination mit der übergebenen Schnellzugriffstaste aktivieren oder fokussieren. Nein {...} Beispiel:
hotkeys: {
        collapse: 'c',  // Usage: press Alt + C to collapse the chat widget when chat widget is expanded
        launch: 'l'     // Usage: press Alt + L to launch the chat widget when chat widget is collapsed
    }
i18n Ein Objekt, das Gebietsschemafelder enthält. Jedes Gebietsschema verwaltet i18n-Schlüssel/Wert-Paare für die im Widget verwendeten Textzeichenfolgen. Nein {'en-us':{…}}
Beispiel:
"i18n": {
                "en-us": {
                    "chatTitle": "Pizza King"
                }
            } 
initBotAudioMuted Initialisiert die Äußerung der Skillnachricht im stummgeschalteten Modus. Dieses Feature kann nur aktiviert werden, wenn Sie enableBotAudioResponse auf true setzen. Nein true
initMessageOptions Während initUserHiddenMessage die anfängliche "verborgene" Nachricht nur sendet, nachdem der Client mit dem Skill verbunden und das Chatwidget eingeblendet wurde, können Sie mit dieser Einstellung Nachrichten senden, sobald der Client mit dem Skill verbunden ist, unabhängig davon, ob das Widget eingeblendet wurde oder nicht. Diese Einstellung akzeptiert ein Objekt mit einer sendAt-Eigenschaft. Die Eigenschaft sendAt kann einen von zwei Werten aufweisen: 'init' oder 'expand'. Wenn Sie 'init' festlegen, werden die Initialisierungsnachrichten gesendet, sobald die Verbindung hergestellt wurde. Wenn Sie 'expand' festlegen, werden die Initialisierungsnachrichten erst gesendet, wenn das Widget eingeblendet wurde. Im folgenden Snippet wird mit sendAt: 'init' festgelegt, dass die Nachricht beim Herstellen der Verbindung gesendet wird:
var settings = {
    URI: '...',
    channelId: '...',
    initUserHiddenMessage: 'Hello',
    initMessageOptions: {
        sendAt: 'init'
    }
}
Bots = new WebSDK(settings);
Bots.connect();
Beachten Sie, dass die Abrechnung beginnt, wenn die Initialisierungsnachricht gesendet wurde, auch wenn das Widget noch geschlossen ist (wie bei sendAt: 'init).
   
initUserHiddenMessage Eine Nachricht, die zum Initiieren einer Unterhaltung verwendet wird. Diese Nachricht kann eine Textzeichenfolge oder eine Nachrichten-Payload sein. Beispiel: initUserHiddenMessage: 'Hi'. Diese Nachrichten hängen nicht von der Benutzerhistorie ab. Diese Nachricht wird in jeder Session gesendet, nachdem der Client mit dem Skill verbunden und das Chatwidget eingeblendet wurde. Um die erste Nachricht nur zu senden, wenn die Unterhaltungshistorie leer ist, müssen Sie Ereignis-Listener mit der Methode Bots.on() binden. Beispiel: Dazu können Sie die Ereignisse WIDGET_OPENED und NETWORK binden. Diese werden in der SDK-Dokumentation beschrieben. Nein N/V
initUserProfile Aktualisiert das Benutzerprofil vor dem Start einer Unterhaltung. Das Format der Profil-Payload muss { profile: {...} } lauten. Beispiel:
initUserProfile : {
    profile:{
    givenName: 'First',
    surname: 'Last',
    email: 'first.last@example.com',
    properties: {
        lastOrderedItems: '1 medium pepperoni'
    }
}
Diese Funktion aktualisiert den Benutzerkontext, nachdem der Client mit dem Skill verbunden und das Chatwidget eingeblendet wurde. Dann kann das Benutzerprofil in der ersten Antwortnachricht an den Benutzer widergespiegelt werden. Beispiel: Der Skill kann den Benutzer mit einer Nachricht wie "Willkommen zurück, John Smith! Ihre letzte Bestellung war eine mittlere Pepperoni-Pizza." begrüßen. Diese Nachrichten werden gesendet, nachdem der Client mit dem Skill verbunden und das Chatwidget eingeblendet wurde. Diese Benutzerprofilnachrichten werden gesendet, nachdem der Client mit dem Skill verbunden und das Chatwidget eingeblendet wurde. Eine Benutzerprofilnachricht wird noch vor der anfänglichen "verborgenen" Nachricht gesendet, wenn initUserHiddenMessage ebenfalls übergeben wird.

Sie können nur die Eigenschaft profile in der Payload übergeben. Wenn Sie eine andere Eigenschaft wie messagePayload übergeben müssen. Wenn die anfängliche Nachricht die Eigenschaften "profile" und messagePayload enthalten muss, verwenden Sie stattdessen initUserHiddenMessage.

Nein N/V
isDebugMode Aktiviert Debug-Modus. Nein false
linkHandler Ein Objekt, das die Konfiguration für die Verarbeitung der Klicks auf die Links außer Kraft setzt, die in die Antworten des Skills eingebettet sind. Dieses Objekt verarbeitet Links auf zwei verschiedene Arten: target (akzeptiert eine Zeichenfolge) und onclick (akzeptiert eine Funktion). Sie können target oder onclick festlegen, jedoch nicht beides. Wenn alle Links in einer Webansicht geöffnet werden sollen, übergeben Sie linkHandler: { target: 'oda-chat-webview' }. Nein
{ onclick: <function>, target: 'string' }
locale Das Standardgebietsschema für die Textzeichenfolgen des Widgets. Das bei der Initialisierung übergebene Gebietsschema hat Vorrang vor den Browsergebietsschemas der Benutzer. Wenn keine genaue Übereinstimmung vorhanden ist, versucht das SDK, die nächste Sprache abzugleichen. Beispiel: Wenn das Gebietsschema 'da-dk' ist, i18n-Übersetzungen jedoch nur für 'da' bereitgestellt wurden, wird die Übersetzung 'da' verwendet. Wenn keine Übersetzungen für das übergebene Gebietsschema vorhanden sind, werden Übersetzungen für die Browsergebietsschemas gesucht und angewendet. Wenn dafür auch keine Übersetzungen vorhanden sind, wird das Standardgebietsschema 'en' für Übersetzungen verwendet. Nein en-us
messageCacheSizeLimit Die maximale Anzahl von Nachrichten, die jeweils in localStorage gespeichert werden. Nein 2000
reconnectMaxAttempts Die Anzahl der Versuche, die das Chatwidget unternommen hat, sich erneut anzumelden, wenn die anfängliche Verbindung nicht erfolgreich verläuft. Nein 5
shareMenuItems Die Menüoptionen im Popup-Menü "Teilen". Diese Eigenschaft akzeptiert ein Array mit Zeichenfolgenwerten, die Menüoptionen zugeordnet sind:
  • 'visual' für Bilder und Videos
  • 'audio' für Audio
  • 'file' für Dateien
  • 'location' für Standorte
Sie können angeben, welche Optionen im Menü verfügbar sind (z.B. ['audio', 'file']). Alle Menüoptionen sind verfügbar, wenn das Array leer ist, wenn die Optionen im Array falsch sind (['audio', 'visuil'] oder wenn shareMenuItems nicht definiert wurde.
Nein
['audio', 'file', 'location', 'visual']
skillVoices Ein Array mit den bevorzugten Stimmen zum Vorlesen von Antworten. Jedes Element im Array muss ein Objekt mit zwei Feldern sein: lang und name. name ist optional. Das erste Element, das mit einer im System verfügbaren Stimme übereinstimmt, wird zum Vorlesen verwendet. Diese Einstellung ist veraltet. Nein System language
speechLocale Das erwartete Gebietsschema der gesprochenen Sprache des Benutzers, die für die Spracherkennung verwendet wird. Das Standardgebietsschema ist US-Englisch ('en-US'). Die anderen unterstützten Gebietsschemas sind: Australisches Englisch ('en-au'), UK English ('en-uk'), Französisch ('fr-fr'), Deutsch ('de-de'), Italienisch ('it-it'), Indisch-Hindi (hi-in), Indisch-Englisch (en-in), Brasilianisches Portugiesisch ('pt-br') und Spanisch ('es-es'). Das Sprachgebietsschema kann dynamisch durch Aufruf der setSpeechLocale('<locale>')-API festgelegt werden. Die Spracherkennung funktioniert nicht, wenn ein nicht unterstütztes Gebietsschema übergeben wurde. Nein 'en-us'
storageType Der Webspeichermechanismus, mit dem die Unterhaltungshistorie für Benutzer gespeichert wird, deren userId von der Host-App übergeben wird. Die unterstützten Werte lauten 'localStorage' und 'sessionStorage'. Unterhaltungen anonymer Benutzer werden immer in sessionStorage gespeichert und nach dem Ende der Browsersession automatisch gelöscht. Nein 'localStorage'
targetElement Benennt das div-Element, in dem das Chatwidget auf der Webseite eingebettet wird. Das div-Element chat-container im folgenden Snippet wird als targetElement: 'chat-container' referenziert:
        <div id="chat-container" class="chatbox" 
            style="height: 600px; width: 400px; padding: 0;
            text-align: initial">
        </div>
Im Web-SDK-Tutorial finden Sie heraus, wie Sie das div-Element hinzufügen und formatieren.
Nein N/V
theme Das primäre Layout-Theme. Drei Themes sind verfügbar: 'default', 'redwood-dark' und 'classic'. Nein default
timestampFormat Formatiert den Zustellungszeitstempel für Nachrichten. Akzeptiert Werte in einem DateTimeFormat-options-Objekt oder als Musterzeichenfolge, wie unter Zeitstempel anpassen beschrieben

Hinweis: Damit wird der Nachrichtenzeitstempel und nicht der Headerzeitstempel gesteuert.

.
Nein
{
weekday:'long',
year:'numeric',
month: 'long',
day: 'numeric'

}
timestampHeaderFormat Passen Sie das Zeitstempelformat im Nachrichtenheader an. Sie können ein DateTimeFormat-options-Objekt oder eine Musterzeichenfolge verwenden, wie unter Zeitstempel anpassen beschrieben. Nein  
timestampHeaderMode Konfiguriert die Zeitstempelheader, die über der ersten Nachricht des Tages angezeigt werden. 'absolute' (Standardformat) zeigt den vollständigen Zeitstempel im absoluten Format an, 'relative' zeigt ihn in einem relativen Format an, und 'none' blendet den Zeitstempelheader vollständig aus. Nein absolute
timestampMode Konfiguriert den Anzeigemodus für Zeitstempel als absolute Zeitstempel, die in jeder Nachricht angezeigt werden, oder als relative Zeitstempel, die nur in der letzten Nachricht angezeigt wird.
  • default: Legt für jede Nachricht einen relativen Zeitstempel fest.
  • relative (Standard) - Der Zeitstempel wird vor der ersten Nachricht des Tages als absoluter Zeitstempel in einem Header und dann als relativer Zeitstempel für die neuen Nachrichten angezeigt, der aktualisiert wird und die Zeit angibt, die seit dem Hinzufügen der Nachricht in der Unterhaltung vergangen ist. Der relative Zeitstempel wird in festgelegten Intervallen aktualisiert, bis eine neue Nachricht eingeht.
  • absolute: Legt für jede Nachricht einen absoluten Zeitstempel fest.
  • none – Deaktiviert den Zeitstempel.

Hinweis: Damit wird der Nachrichtenzeitstempel und nicht der Headerzeitstempel gesteuert.

Nein default (für absolute Zeitstempel) oder relative.
ttsService Ein Array mit bevorzugten Stimmen, die zum Sprechen von Antworten über Text-to-Speech (TTS) verwendet werden. Jedes Element im Array muss ein Objekt mit mindestens einem der folgenden Felder sein: lang und name. Das erste Element, das mit einer im System verfügbaren Stimme übereinstimmt, wird für den TTS verwendet. Nein oracle
typingIndicatorTimeout Legt die Anzahl der Sekunden fest, nach der der Indikator für die Eingabe automatisch entfernt wird, wenn das Chatwidget die Antwort noch nicht erhalten hat. Nein 20
typingStatusInterval Legt das Intervall in Sekunden fest, in dem der Schreibstatus gedrosselt wird, der an den Live-Agent gesendet wird. Nein 3
webViewConfig Passt die Webansicht im Widget an. Nein { referrerPolicy: 'no-referrer-when-downgrade', closeButtonType: 'icon', size: 'tall' }

Mehr lesen und weniger lesen Buttons für Mehrabsatz-Skillantworten

Sie können die Benutzererfahrung für Skillnachrichten mit mehreren Absätzen optimieren, indem Sie die Schaltflächen "Weitere Informationen" und "Weniger lesen" hinzufügen.
Beschreibung von readmore.png folgt
Beschreibung der Abbildung readmore.png

Mit dem Objekt delegate und den benutzerdefinierten Funktionen können Sie den clientseitigen Code für diese Schaltflächen hinzufügen, die Absätze ein- und ausblenden.

  1. Definieren Sie in settings.js ein delegate-Objekt mit einer beforeDisplay-Callback-Funktion in der var chatWidgetSettings-Deklaration:
    delegate: {
                beforeDisplay: function (message) {
                    var messagePayload = message && message.messagePayload;
                    if (messagePayload.type === 'text') {
                        messagePayload.text = splitParagraph(messagePayload.text);
                    }
                    return message;
                }
            }
    Wenn die Nachricht den Typ text aufweist, ruft beforeDisplay die benutzerdefinierte Funktion splitParagraph auf, um den Text nach dem ersten Absatz aufzuteilen.
  2. Deklarieren Sie die Variablen für die benutzerdefinierten splitParagraph- und toggleParagraph-View-Funktionen:
    var PREFIX_DOTS = 'dots_';
    var PREFIX_MORE = 'more_';
    var PREFIX_TOGGLE = 'toggle_button';
  3. Fügen Sie den splitParagraph-Funktionsausdruck und die toggleParagraphView-Funktion hinzu.
    splitParagraph ist ein IIFE-Ausdruck (Sofort aufgerufener Funktionsausdruck), der die Variable globalIDCounter isoliert, sodass nur die Funktion splitParagraph darauf zugreifen kann. Der Code identifiziert einen Absatz ("\n\n") und teilt den Text entsprechend auf. Anschließend werden drei Punkte (...) hinzugefügt, um anzuzeigen, dass mehr Text angezeigt wird, und eine Schaltfläche "Mehr lesen", um den verbleibenden Text auszublenden.

    var splitParagraph = (function () {
        var globalIDCounter = 0;
    
        return function splitParagraph(text) {
            var paragraphs = text.split('\n\n');
    
            if (paragraphs.length > 1) {
                var HTMLText = '<p>' + paragraphs[0] +
                    '<span id="' + PREFIX_DOTS + globalIDCounter + '">...</span></p>' +
                    '<span id="' + PREFIX_MORE + globalIDCounter + '" class="more">';
    
                for (var i = 1; i < paragraphs.length; i++) {
                    HTMLText += '<p>' + paragraphs[i] + '</p>';
                }
    
                HTMLText += '</span><button id="' + PREFIX_TOGGLE + globalIDCounter + '" class="readMore" onclick="toggleParagraphView(' + globalIDCounter + ')">Read More</button>';
    
                globalIDCounter++;
                return HTMLText;
            } else {
                return text;
            }
        }
    })();
    
    function toggleParagraphView(elemID) {
        var dots = document.getElementById(PREFIX_DOTS + elemID);
        var textMore = document.getElementById(PREFIX_MORE + elemID);
        var buttonToggle = document.getElementById(PREFIX_TOGGLE + elemID);
    
        if (!dots || !textMore || !buttonToggle) {
            return;
        }
    
        if (dots.style.display === 'none') {
            dots.style.display = 'inline';
            buttonToggle.innerText = 'Read More';
            textMore.style.display = 'none';
        } else {
            dots.style.display = 'none';
            buttonToggle.innerText = 'Read Less';
            textMore.style.display = 'inline';
        }
    }
  4. Konfigurieren und (optional) formatieren Sie die Schaltflächen "Mehr lesen" und "Weniger lesen". Das CSS enthält einen display:none-Stil, um Schaltflächen je nach Status der langen Textanzeige ein- oder auszublenden.
    • Wenn Sie die Schaltflächen nicht formatieren möchten, fügen Sie den folgenden Code hinzu:
      <style>
      .more {
        display: none;
      }
      </style>
    • Wenn Sie die Schaltflächen formatieren möchten, können Sie Folgendes tun:
      <style>
      .readMore {
        color: #fff !important;
        background-color: red;
        font-size: 12pt;
        padding: 4px;
        outline: 0;
        -moz-outline: 0;
        border: 0;
      }
      
      .readMore:hover {
        color: #fff !important;
        background-color: #606060 !important;
      }
      .more {
        display: none;
      }
      </style>

Layout

Mit den Layouteigenschaften können Sie Folgendes ausführen:
  • Die Position des Widgets auf der Webseite festlegen.
  • Die Dimensionen, die Farben und den Schriftschnitt für das Chatwidget festlegen.
  • Den Abstand für die Nachrichten im Widget festlegen.
  • Die Position des Benachrichtigungsbadgesymbols in Bezug auf die Botschaltfläche festlegen.
  • Die Startposition für die Unterhaltung im Widget festlegen.
Beispiel:
     <script>
        var chatWidgetSettings = {
            URI: YOUR_URI,
            channelId: YOUR_CHANNELID,
            font: '14px "Helvetica Neue", Helvetica, Arial, sans-serif', //layout modification property
            height: '60vh', //layout modification property
            width: '20vw',  //layout modification property
             "colors": {    //custom colors property  
                "branding": "#01538A",
                "text": "#B20637"
            },
         }
                
...
    </script>
Eigenschaft Beschreibung Erforderlich? Standardwert
actionsLayout Legt die Layoutrichtung für die lokalen Aktionen fest. Wenn Sie diesen Wert auf horizontal setzen, sind diese Schaltflächen horizontal ausgerichtet und werden umgebrochen, wenn der Inhalt überläuft. Nein vertical
badgePosition Die Position des Badgesymbols in Bezug auf die Symbolschaltfläche. Nein {"top": "0", "right": "0"}
cardActionsLayout Legt die Layoutrichtung für die Kartenaktionen fest. Wenn Sie diesen Wert auf horizontal setzen, sind diese Schaltflächen horizontal ausgerichtet und werden beim Inhalt umgebrochen. Nein vertical
colors Die im Chatwidget verwendeten Farben. Nein {"branding": "#1B8FD2", "text": "#212121", "textLight": "#737373"}
conversationBeginPosition Die Startposition für die Unterhaltung im Widget. Wenn Sie diese Eigenschaft auf top setzen, werden die ersten Nachrichten oben im Widget angezeigt. Wenn Sie sie auf bottom setzen, beginnt die Unterhaltung am Ende. Nein bottom
font Die im Chatwidget verwendete Schriftart. Nein 16px "Oracle Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue
fontFamily Die für den gesamten Text im Chatwidget verwendete Schriftartfamilie. Diese Einstellung hat Vorrang vor der Konfiguration font. Nein "Oracle Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue"
fontSize Die Schriftgröße, die für den Header-, Bubble- und Footertext im Widget verwendet werden soll. Diese Einstellung hat Vorrang vor der font-Konfiguration. Nein 16px
globalActionsLayout Legt die Layoutrichtung für die globalen Aktionen fest. Bei Einstellung "horizontal" werden die Schaltflächen horizontal verlegt und bei Überschreitung des Inhalts umgebrochen. Nein vertical
height Die Höhe eines Chatwidgets, die durch einen der Werte für den Datentyp <length> festgelegt wird. Nein 70vh
messagePadding Der Abstand um Nachrichten im Chatwidget. Nein 15px
position Die Position des Chatwidgets im Browserfenster. Muss als JSON-Objekt übergeben werden. Nein {bottom: '20px', right: '20px'}
width Die Breite des Chatwidgets, die durch einen der Werte für den Datentyp <length> festgelegt wird. Nein 30vw

Symbole für benutzerdefinierte Headerschaltflächen

Sie können die Headerschaltflächen für "Nachricht löschen" Dieses Bild zeigt das Symbol "Nachrichten löschen"., "Audioantwort umschalten" Dieses Bild zeigt das Symbol "Audioantwort". und "Schließen" Dieses Bild zeigt das Symbol "Schließen". auf zwei Arten anpassen: durch Übergabe der Quell-URL des Bildes oder durch Übergabe einer RAW-SVG-Zeichenfolge. Bei RAW-SVG-Zeichenfolgen kann die SVG-Füllfarbe durch CSS-Klassen sowie durch Übergabe eines Farbwertes in der Eigenschaft colors.headerButtonFill in den Ausgangseinstellungen angepasst werden.
Hinweis

Die Farbanpassung funktioniert möglicherweise nicht für alle SVG-Inhalte, da sie mehrfarbig sein oder eigene Strich- und Füllfarben aufweisen können.
Symbol Funktion Kennzeichen "Feature" Anpassung
Meldung löschen Löscht sowohl die aktuelle als auch ältere Nachrichten in der Unterhaltung. enableClearMessage: true '<image URL | SVG string>'
Audioantwort Schaltet das Audio von Skillantworten beim Empfang ein bzw. aus. Da dies eine Umschalt-Schaltfläche ist, besitzt sie zwei Status: "Äußerung ein" (Antworten werden gesprochen) und "Äußerung aus" (Antworten werden nicht gesprochen). enableBotAudioResponse: true
  • Antwort ein: audioResponseOnIcon: '<image URL | SVG string>'
  • Antwort aus: audioResponseOffIcon: '<image URL | SVG string>
Schließen Blendet das Widget aus und zeigt die Schaltfläche "Starten" Dieses Bild zeigt das Symbol "Starten". an. Diese Schaltfläche kann nicht deaktiviert werden. Kein Flag: Dieses Symbol ist im Chatwidget immer aktiviert. Im eingebetteten Modus wird es nicht angezeigt. closeIcon : '<image URL | SVG string>'

Benutzerdefinierte Farben

Sie können das Widget anpassen, indem Sie seine Farben ändern. Es gibt zwei Ansätze zur Farbanpassung:
  • Sie können die colors-Konfiguration übergeben:
    colors: {
        "branding": "#e00",
        "text": "#545454"
    },
    
  • Sie können auch CSS-Variablen verwenden, die im Chat-Wrapper definiert sind (.oda-chat-wrapper):
    .oda-chat-wrapper {
        --color-branding: '#e00';
        --color-text: '#545454';
    }
    }
Die Farbe muss eine Hexadezimalfarbe sein. Wenn Sie keine Farbe angeben, wird stattdessen eine Standardfarbe verwendet. Diese Snippets veranschaulichen, wie Branding- und Textfarben geändert werden. Die Standardfarbe wird für die sekundäre Textfarbe verwendet.

Tipp:

Wir empfehlen, Farben mit CSS-Variablen zu ändern.
CSS-Variable Taste Beschreibung
--color-actions-background actionsBackground Die Hintergrundfarbe für die Aktionsschaltflächen.
--color-actions-background-hover actionsBackgroundFocus Die Hintergrundfarbe für die Aktionsschaltflächen, wenn sie sich im Fokus befinden.
--color-actions-background-focus actionsBackgroundHover Die Hintergrundfarbe der Aktionsschaltflächen beim Mouseover.
--color-actions-border actionsBorder Die Rahmenfarbe für die Aktionsschaltflächen.
--color-actions-text actionsText Die Textfarbe für die Aktionsschaltflächen.
--color-actions-text actionsTextFocus Die Textfarbe für die Aktionsschaltflächen im Fokus.
--color-actions-text-focus actionsTextHover Die Textfarbe für die Aktionsschaltflächen beim Mouseover.
--color-user-message-background botMessageBackground Die Farbe für den Hintergrund der Antwortnachrichtenblase des Skills
--color-bot-text botText Die Farbe für den Text in einer vom Skill gesendeten Nachricht
--color-branding branding Die Primärfarbe für das Widgetbranding. Diese Farbe wird als Headerhintergrund und als Mouseover-Farbe bei Footerschaltflächen verwendet.
--color-card-background cardBackground Die Hintergrundfarbe für eine Karte.
--color-conversation-background conversationBackground Die Farbe, die für den Hintergrund des Unterhaltungsbereichs verwendet wird.
--color-danger-actions-background dangerActionsBackground Hintergrundfarbe der Gefahrenaktionsschaltfläche
--color-danger-actions-background-focus dangerActionsBackgroundFocus Die Hintergrundfarbe der Gefahrenaktionsschaltfläche im Fokus
--color-danger-actions-background-hover dangerActionsBackgroundHover Die Hintergrundfarbe der Gefahrenaktionsschaltfläche beim Hover
--color-danger-actions-border dangerActionsBorder Die Rahmenfarbe des Gefahrenaktionsknopfs.
--color-danger-actions-text dangerActionsText Textfarbe der Gefahraktionsschaltfläche
--color-danger-actions-text-focus dangerActionsTextFocus Die Textfarbe der Gefahraktionsschaltfläche im Fokus.
--color-danger-actions-text-hover dangerActionsTextHover Die Textfarbe der Gefahrenaktionsschaltfläche beim Mouseover.
--color-danger-form-actions-background dangerFormActionsBackground Die Hintergrundfarbe von Gefahrenaktionen in Tabellen-, Formular-, Tabellen- und Bearbeitungsformularnachrichten
--color-danger-form-actions-background-focus dangerFormActionsBackgroundFocus Hintergrundfarbe von Gefahrenaktionen für den Fokus in Nachrichten in Tabellen-, Formular-, Tabellenform- und Bearbeitungsformularen
--color-danger-form-actions-background-hover dangerFormActionsBackgroundHover Hintergrundfarbe von Gefahrenaktionen beim Mouseover in Nachrichten in Tabellen-, Formular-, Tabellenform- und Bearbeitungsformularen
--color-danger-form-actions-border dangerFormActionsBorder Die Rahmenfarbe von Gefahrenaktionen in Tabellen-, Formular-, Tabellen- und Bearbeitungsformularnachrichten
--color-danger-form-actions-text dangerFormActionsText Die Textfarbe von Gefahrenaktionen in Tabellen-, Formular-, Tabellen- und Bearbeitungsformularnachrichten
--color-danger-form-actions-text-focus dangerFormActionsTextFocus Die Textfarbe von Gefahrenaktionen für den Fokus in Tabellen-, Formular-, Tabellen- und Bearbeitungsformularnachrichten
--color-danger-form-actions-text-hover dangerFormActionsTextHover Die Textfarbe der Gefahrenaktionen beim Mouseover in Tabellen-, Formular-, Tabellen- und Bearbeitungsformularnachrichten
--color-error-border errorBorder Die Rahmenfarbe einer Fehlermeldungsblase. Die Farbe wird als Rahmenfarbe der Fehlermeldung auf Formularebene verwendet, die in Formularbearbeitungsnachrichten angezeigt wird.
--color-error-message-background errorMessageBackground Die Hintergrundfarbe einer Fehlermeldungsblase. Die Farbe wird als Hintergrundfarbe der Fehlermeldung auf Formularebene verwendet, die in Formularbearbeitungsnachrichten angezeigt wird.
--color-error-title errorTitle Die Titelfarbe des Inhalts der Fehlermeldung. Die Farbe wird als Fehlertextfarbe der Fehlermeldung auf Formularebene verwendet, die in Formularbearbeitungsnachrichten angezeigt wird.
--color-footer-background footerBackground Die für den Hintergrund des Footers verwendete Farbe.
--color-footer-button-fill footerButtonFill Die Füllfarbe eines SVG-Symbols, das in den Schaltflächen im Chatfooter verwendet wird.
--color-form-actions-background formActionsBackground Die Hintergrundfarbe von Formularaktionen
--color-form-actions-background-focus formActionsBackgroundFocus Die Hintergrundfarbe der Formularaktionen im Fokus
--color-form-actions-background-hover formActionsBackgroundHover Die Hintergrundfarbe der Formularaktionen beim Hover
--color-form-actions-border formActionsBorder Die Rahmenfarbe von Formularaktionen
--color-form-actions-text formActionsText Die Textfarbe von Formularaktionen
--color-form-actions-text-focus formActionsTextFocus Die Textfarbe der Formularaktionen im Fokus
--color-form-actions-text-hover formActionsTextHover Die Textfarbe der Formularaktionen beim Mouseover
--color-form-background formBackground Die Hintergrundfarbe von Formularen
--color-form-error formError Die SVG-Füllfarbe des Symbols in Fehlermeldungen auf Feldebene und Formularebene, die in Formularbearbeitungsnachrichten angezeigt werden. Die Farbe wird bei Fehlern in Edit-Form-Nachrichten als Rahmenfarbe des Eingabefelds verwendet.
--color-form-error-text formErrorText Die Textfarbe einer Fehlermeldung auf Feldebene, die in Formularbearbeitungsnachrichten angezeigt wird
--color-form-header-background formHeaderBackground Die Hintergrundfarbe der Formulartitel
--color-form-header-text formHeaderText Die Textfarbe der Formulartitel
--color-form-input-background formInputBackground Die Hintergrundfarbe der Eingabefelder in Formularbearbeitungsnachrichten
--color-form-input-border formInputBorder Die Rahmenfarbe der Eingabefelder in Formularbearbeitungsnachrichten
--color-form-input-border-focus formInputBorderFocus Die Rahmenfarbe der in Bearbeitungsformularnachrichten fokussierten Eingabefelder
--color-form-input-text formInputText Die Textfarbe der Eingabefelder in Formularbearbeitungsnachrichten
--color-form-label formLabel Die Farbe der Formularlabels
--color-form-text formText Die Textfarbe von Formularen
--color-global-actions-background globalActionsBackground Die Hintergrundfarbe der globalen Aktionsschaltflächen.
--color-global-actions-background-focus globalActionsBackgroundFocus Die Hintergrundfarbe der globalen Aktionsschaltflächen, wenn sie sich im Fokus befinden.
--color-global-actions-background-hover globalActionsBackgroundHover Die Hintergrundfarbe beim Mouseover über die globalen Aktionsschaltflächen.
--color-global-actions-border globalActionsBorder Die Rahmenfarbe der globalen Aktionsschaltflächen.
--color-global-actions-text globalActionsText Die Textfarbe der globalen Aktionsschaltflächen.
--color-global-actions-text-focus globalActionsTextFocus Die Textfarbe der globalen Aktionsschaltflächen, wenn sie sich im Fokus befinden.
--color-global-actions-text-hover globalActionsTextHover Die Textfarbe der globalen Aktionsschaltflächen, wenn Benutzer mit der Maus auf sie zeigen.
--color-header-background headerBackground Die Hintergrundfarbe für den Header des Chatwidgets.
--color-header-button-fill headerButtonFill Die Füllfarbe der SVG-Symbole, die für die Schaltflächen im Chatheader verwendet werden.
--color-header-text headerText Die Farbe des Chatheadertitels.
--color-input-background inputBackground Die Hintergrundfarbe des Nachrichteneingabefeldes im Chatfooter.
--color-input-text inputText Die Textfarbe der Nachrichteneingabe im Chatfooter.
--color-links links Die Farbe für die Links, die in Skillnachrichten eingebettet sind.
--color-error-border N/V Die Rahmenfarbe einer Fehlermeldungsblase
--color-error-message-background N/V Die Hintergrundfarbe einer Fehlermeldungsblase
--color-error-text N/V Die Beschreibungsfarbe für den Inhalt einer Fehlermeldung
--color-error-title N/V Die Titelfarbe eines Fehlermeldungsinhalts
--color-footer-button-background-hover N/V Die Hintergrundfarbe der Footerschaltflächen beim Mouseover.
--color-footer-button-fill-hover N/V Die Füllfarbe der Kopfzeile beim Mouseover
--color-header-button-background-hover N/V Die Hintergrundfarbe der Headerschaltflächen beim Mouseover.
--color-header-button-fill-hover N/V Die Füllfarbe der Headerschaltflächen beim Mouseover
--color-input-border N/V Die Rahmenfarbe des Eingabefeldes
--color-user-links N/V Die Farbe der Links, die in Benutzernachrichten eingebettet sind.
--color-popup-background N/V Die Hintergrundfarbe von Eingabeaufforderungen und Popups
--color-popup-button-background N/V Die Hintergrundfarbe für die Popup-Schaltflächen.
--color-popup-button-text N/V Die Textfarbe für die Popup-Schaltflächen.
--color-popup-horizontal-rule N/V Die Farbe der Horizontalregel für Trennzeichen für mehrsprachige Chatmenüaktionen
--color-popup-item-background-hover N/V Die Hintergrundfarbe beim Mouseover von Popup-Listenelementen
--color-popup-text N/V Die Text- und Symbolfarbe von Eingabeaufforderungen und Popups
--color-table-background N/V Die Hintergrundfarbe der Tabellen
--color-table-header-background N/V Die Hintergrundfarbe der Tabellenheader
--color-table-separator N/V Die Trennfarbe der Tabellenzeilen
--color-table-text N/V Die Textfarbe von Tabellen
--color-notification-badge-background notificationBadgeBackground Die Hintergrundfarbe für das Badge der Nachrichtenbenachrichtigung
--color-notification-badge-text notificationBadgeText Die Textfarbe für die Anzahl von Nachrichten im Benachrichtigungsbadge.
--color-primary-actions-background primaryActionsBackground Hintergrundfarbe der primären Aktionsschaltfläche
--color-primary-actions-background-focus primaryActionsBackgroundFocus Die Hintergrundfarbe der primären Aktionsschaltfläche im Fokus
--color-primary-actions-background-hover primaryActionsBackgroundHover Die Hintergrundfarbe der primären Aktionsschaltfläche beim Mouseover.
--color-primary-actions-border primaryActionsBorder Die Rahmenfarbe der primären Aktionsschaltfläche.
--color-primary-actions-text primaryActionsText Textfarbe der primären Aktionsschaltfläche
--color-primary-actions-text-focus primaryActionsTextFocus Die Textfarbe der primären Aktionsschaltfläche im Fokus.
--color-primary-actions-text-hover primaryActionsTextHover Die Textfarbe der primären Aktionsschaltfläche beim Mouseover.
--color-primary-form-actions-background primaryFormActionsBackground Die Hintergrundfarbe der primären Aktionen in Tabellen-, Formular-, Tabellenformular- und Bearbeitungsformularnachrichten
--color-primary-form-actions-background-focus primaryFormActionsBackgroundFocus Die Hintergrundfarbe der primären Aktionen für den Fokus in Tabellen-, Formular-, Tabellenformular- und Bearbeitungsformularnachrichten
--color-primary-form-actions-background-hover primaryFormActionsBackgroundHover Die Hintergrundfarbe der primären Aktionen beim Mouseover in Tabellen-, Formular-, Tabellenformular- und Bearbeitungsformularnachrichten
--color-primary-form-actions-border primaryFormActionsBorder Die Rahmenfarbe der primären Aktionen in Tabellen-, Formular-, Tabellenformular- und Bearbeitungsformularnachrichten
--color-primary-form-actions-text primaryFormActionsText Die Textfarbe der primären Aktionen in Tabellen-, Formular-, Tabellenformular- und Bearbeitungsformularnachrichten
--color-primary-form-actions-text-focus primaryFormActionsTextFocus Die Hintergrundfarbe der primären Aktionen für den Fokus in Tabellen-, Formular-, Tabellenformular- und Bearbeitungsformularnachrichten
--color-primary-form-actions-text-hover primaryFormActionsTextHover Die Hintergrundfarbe der primären Aktionen beim Mouseover in Tabellen-, Formular-, Tabellenformular- und Bearbeitungsformularnachrichten
--color-rating-star ratingStar Die Farbe, die in einer Feedbacknachricht auf die Bewertungssterne angewendet wird, wenn Benutzer den Mauszeiger über sie bewegen oder sie auswählen. Wenn Sie keine Farbe angeben, wird stattdessen die Farbe branding verwendet.
N/V recognitionViewBackground Die Hintergrundfarbe für die Ansicht, in der der erkannte Text angezeigt wird, wenn Benutzer den Sprachmodus aktivieren. Wenn Sie diese Farbe nicht definieren, wird stattdessen die für headerBackground definierte Farbe verwendet.
N/V recognitionViewButtonFill Die SVG-Füllfarbe für den Umschalter zwischen Sprach- und Textmodus, wenn Benutzer in den Sprachmodus wechseln.
--color-recognition-view-text recognitionViewText Die Farbe, die für den Text verwendet wird, der aus der Spracheingabe des Benutzers erkannt wird. Wenn Sie diese Farbe nicht definieren, wird stattdessen die für text definierte Farbe verwendet.
N/V shareMenuText Die für die Menüoptionen "Teilen" verwendete Farbe. Diese Farbe überschreibt den für den Textschlüssel festgelegten Wert, sofern übergeben.
--color-table-actions-background-focus tableActionsBackgroundFocus Die Hintergrundfarbe der Tabellenaktionen im Fokus
--color-table-actions-text-focus tableActionsTextFocus Die Textfarbe der Tabellenaktionen im Fokus
--color-table-actions-text-hover tableActionsTextHover Die Textfarbe der Tabellenaktionen beim Mouseover
--color-text text Die Textfarbe für Nachrichten im Chatwidget.
-color-text-light textLight Die Textfarbe des sekundären Textes in Nachrichten, wie die Kartenbeschreibungen im Chatwidget.
--color-timestamp timestamp Die Farbe für den relativen Zeitstempel.
--color-typing-indicator typingIndicator Die Hintergrundfüllfarbe für den Indikator, dass gerade Text eingegeben wird.
N/V userMessageBackgound Die Hintergrundfarbe der Blase, die für Benutzernachrichten verwendet wird.
--color-user-text userText Die Farbe für den Text in einer vom Benutzer gesendeten Nachricht.
--color-visualizer visualizer Die Farbe, die für die Balken im Visualisierungsdiagramm verwendet wird. Wenn Sie diese Farbe nicht definieren, wird stattdessen die für branding definierte Farbe verwendet.
--color-visualizer-container-background visualizerContainerBackground Die Hintergrundfarbe für den Container der Sprachvisualisierung, der angezeigt wird, wenn Benutzer in den Sprachmodus wechseln. Wenn Sie diese Farbe nicht definieren, wird stattdessen die für userMessageBackgound definierte Farbe verwendet.
Hinweis

Sie können ein Bild für conversationBackground, headerBackground und footerBackground festlegen. Diese Felder können alle Parameter akzeptieren, die an die CSS-Hintergrundeigenschaft übergeben werden können. Beispiel:
colors: {conversationBackground: 'no-repeat url("https://images.unsplash.com/photo-1582580470647-e3be5274d6a0?ixlib=rb-1.2.1&auto=format&fit=crop&w=668&q=80")'},

Benutzerdefinierte Symbole

Sie können die Symbole, einschließlich Skillsymbol, Chatlogosymbol und Avatarsymbole, für den Skill und den Benutzer anpassen.

Sie können die URL des Bildassets für folgende Symbole übergeben. Bei einigen Symbolen können Sie die URL verwenden oder eine Scalable Vector Graphics-(SVG-)Zeichenfolge übergeben. Sie können die RAW-SVG-Daten für Symbole übergeben, die SVG-Zeichenfolgen unterstützen. Die Chatansicht rendert diese als Inline-SVG.

Tipp:

SVG-Zeichenfolgen werden schneller als Bildassets geladen. Außerdem können Sie damit das Bild animieren und seine Farbe ändern. Das für die Eigenschaft theme definierte Layout wird auf SVG-Zeichenfolgen für Anhangs-, Sende- und Mikrofonschaltflächen angewendet, jedoch nicht für die anderen Bildassets.
Ab Version 21.10 können Sie die Eigenschaft icons verwenden, um alle benutzerdefinierten Symbole in einem einzigen Feld zu gruppieren. Die Symbole vor 21.10 werden weiterhin unterstützt, aber die mit dem Objekt icons übergebenen Werte haben Vorrang. Alle Felder im Objekt icons unterstützen sowohl Bildressourcenpfade als auch SVG-Rohzeichenfolgen.
var settings = {
    URI: '<URI>',
    channelId: '<channel ID>',
    icons: {
        rating: '<svg xmlns="http://www.w3.org/2000/svg" height="24" width="24" viewBox="0 0 24 24"><path d="M15.994 3.006a5.7 5.7 0 00-3.795 1.707L12 4.916l-.199-.202a5.676 5.676 0 00-8.128 0c-2.231 2.275-2.231 5.953 0 8.228L12 21.428l8.326-8.486A5.873 5.873 0 0022 8.828a5.873 5.873 0 00-1.675-4.115A5.693 5.693 0 0016.262 3z"/></svg>'
    },
Eigenschaft (21.10 Release) Eigenschaft (Vorherige Releases) Beschreibung Mit SVG-Zeichenfolge kompatibel?
avatarAgent agentAvatar Bei Skills, die mit Live-Agents integriert sind, wird dieses Symbol neben Nachrichten des Live-Agent angezeigt. Die avatarBot (oder agentAvatar) wird angezeigt, wenn diese Eigenschaft nicht definiert ist. Ja
avatarbot botIcon Das Symbol, das neben der Antwortnachricht des Skills angezeigt wird. Dieses Skillsymbol wird nur angezeigt, wenn Sie dieses Symbol bereitstellen. Andernfalls wird kein Symbol angezeigt. Ja
avatarUser personIcon Das Symbol, das neben Benutzernachrichten angezeigt wird. Dieses Symbol wird nicht standardmäßig angezeigt: Es wird nur angezeigt, wenn Sie es definieren. Ja
clearHistory clearMessageIcon Das Schaltflächensymbol zum Löschen von Nachrichten, das sich im Widgetheader befindet Ja
close N/V Das Symbol, das für die Schaltfläche "Schließen" in Fehlermeldungsbannern, erweiterten Bildvorschauen und im Widget WebView angezeigt wird. Ja
collapse closeIcon Das Symbol für die Schaltfläche im Header der Chatansicht, mit der die Chatansicht minimiert wird. Ja
download downloadIcon Das Symbol, das für die Schaltfläche zum Herunterladen des Anhangs verwendet wird, die in jeder vom Skill gesendeten Anhangsnachricht angezeigt wird. download - Ja
error errorIcon Die URL für das Bild, das für das Fehlersymbol verwendet wird.
  • errorIcon - Nein
  • error - Ja
Nein
expandImage expandImageIcon Das Symbol, das für das Steuerelement zum Einblenden des Bildes verwendet wird, das in jeder vom Skill gesendeten Bildanhangsnachricht angezeigt wird. expandImage - Ja
fileAudio audioIcon Das Audioanhangssymbol, das angezeigt wird, wenn die Anhangsquellen-URL nicht erreichbar ist.
  • audioIcon - Nein
  • fileAudio - Ja
fileGeneric fileIcon Das Symbol für Dateianhänge.
  • fileIcon - Nein
  • fileGeneric - Ja
fileImage imageIcon Das Symbol für Bildanhänge, das angezeigt wird, wenn die Anhangsquelle nicht erreicht werden kann.
  • fileImage - Nein

    imageIcon - Ja

fileVideo videoIcon Das Symbol für Videoanhänge, das angezeigt wird, wenn die Anhangsquellen-URL nicht erreicht werden kann.
  • videoIcon - Nein
  • fileVideo - Ja
keyboard keyboardIcon Das Tastatursymbol, das in der Schaltfläche angezeigt wird, mit der vom Sprach- in den Tastaturmodus umgeschaltet wird. Ja
launch botButtonIcon Die Schaltfläche für den Skillbot, die angezeigt wird, wenn das Chatwidget minimiert wird.
  • botButtonIcon - Nein

    launch - Ja

logo logoIcon Das Chatlogosymbol, das im Header des Chatwidgets angezeigt wird.
  • logoIcon - Nein
  • logo - Ja
mic micIcon Das Symbol für die Mikrofonschaltfläche in der Fußzeile des Chatwidgets, das angezeigt wird, wenn Ja
rating N/V Das Symbol, das für die Schaltflächen für Feedbackaktionen in der Bewertungskomponente angezeigt wird. Um die beste Benutzererfahrung für die Mouseover-Aktion zu erzielen, übergeben Sie eine ausgefüllte SVG-Symbolzeichenfolge. rating - Ja
send sendIcon Das Symbol für die Schaltfläche "Nachricht senden" Ja
shareMenu attachmentIcon Das Symbol zum Hochladen von Anhängen Ja
shareMenuAudio N/V Das Symbol für die Audio-Menüoption im Popup-Menü "Freigeben". Ja
shareMenuFile N/V Das Symbol für die Datei-Menüoption im Share-Menü-Popup. Ja
shareMenuLocation N/V Das Symbol für die Menüschaltfläche "Gemeinsam verwenden" im Popup-Menü "Gemeinsam verwenden". Ja
shareMenuVisual N/V Das Symbol für die Menüoption "Bild/Video" im Popup-Menü "Teilen" Ja
ttsOff audioResponseOffIcon Das Symbol für die Umschaltschaltfläche, wenn Audioantworten deaktiviert sind. Ja
ttsOn audioResponseOnIcon Das Symbol für die Umschaltschaltfläche, wenn Audioantworten aktiviert sind. Ja
typingIndicator chatBubbleIcon Das animierte Symbol im Unterhaltungsbereich, das angibt, dass eine Antwort vom Skill gesendet wird. Ja
Sie können die Größe des Symbols für die Chatblase zum Laden auch ändern (aktiviert mit chatBubbleIcon).
Eigenschaftsname Beschreibung Erforderlich? Standardwert
chatBubbleIconHeight Die Höhe des Symbols für die Chatblase zum Laden. Nein 42px
chatBubbleIconWidth Die Breite des Symbols für die Chatblase zum Laden. Nein 56px

Benutzerdefinierte Zeichenfolgen

Sie können die folgenden Zeichenfolgen anpassen und als lokalisierten Text bereitstellen. Wie mit dem folgenden Objekt veranschaulicht, müssen Sie bei der Lokalisierung für jeden Eintrag ein gültiges Gebietsschema angeben. Aktualisieren Sie alle Schlüssel für andere Gebietsschemas als en-us. Andernfalls werden en-us-Übersetzungen für die fehlenden Werte angezeigt.
"i18n": {
    "fr": {
        "chatTitle": "Soutien"
    },
    "en-us": {
        "chatTitle": "Support"
    },
    "es": {
        "chatTitle": "Apoyo"
    },
    "zh-cn": {
        "chatTitle": "支持"
    }
}
Taste Beschreibung Standardwert
agent Der für den Agent verwendete Text 'Agent'
agentMessage Der Skillnachrichtenindikator für Bildschirmsprachausgaben. Es wird von Bildschirmsprachausgaben vor den Skillantworten gesprochen. Der Text (`{0}`) wird durch den Agent-Namen ersetzt. `'{0} says'`
attachment_audio Der Text, der für die TTS-Äußerung eines Audioanhangs verwendet wird. 'Audio attachment'
attachment_file Der Text, der für die TTS-Äußerung eines Dateianhangs verwendet wird. 'File attachment'
attachment_image Der Text, der für die TTS-Äußerung eines Bildanhangs verwendet wird. 'Image attachment'
attachment_video Der Text, der für die TTS-Äußerung eines Videoanhangs verwendet wird. 'Video attachment'
attachmentAudioFallback Die Fallback-Nachricht, die anstelle eines Audioanhangs angezeigt wird, wenn das Audio nicht vom Client gerendert werden kann. Der Text zwischen {0} und {/0} ist auf einen Link zum Herunterladen der Datei gesetzt. Your browser does not support embedded audio. However you can {0}download it{/0}.
attachmentVideoFallback Die Fallback-Nachricht, die anstelle eines Videoanhangs angezeigt wird, wenn das Video vom Client nicht gerendert werden kann. Der Text zwischen {0} und {/0} ist auf einen Link zum Herunterladen der Datei gesetzt. Your browser does not support embedded video. However you can {0}download it{/0}.
audioResponseOn Die QuickInfo, die angezeigt wird, wenn der Benutzer im Header auf die Schaltfläche "Aus" für eine Audioäußerung zeigt. Turn audio response on
avatarAgent Der alternative Text für das Agent-Symbol, der neben den Agent-Nachrichten angezeigt wird. Agent icon
avatarBot Der alternative Text für das Skillsymbol, der neben den Skillnachrichten angezeigt wird. Bot icon
avatarUser Der alternative Text für das Benutzersymbol, das neben den Benutzernachrichten angezeigt wird. User icon
card Die ID für die Karte. 'Card {0}'. Sie können die Zeichenfolge lokalisieren, indem Sie den Ordinalplatzhalter ({0}) vor oder nach dem Wort platzieren. Wir werden weiterhin die in früheren Releases verwendete Zeichenfolge 'Card' unterstützen, die nicht den ordinalen Platzhalter enthält. Für diese Zeichenfolge wird die Ordinalzahl nach dem Wort platziert. Wenn Sie die Äußerung stummschalten möchten, übergeben Sie eine leere Zeichenfolge (card: '').
cardImagePlaceholder Der Platzhaltertext, der angezeigt wird, wenn das Kartenbild abgerufen und geladen wird. Loading image
cardImagePlaceholder Der Platzhaltertext, der angezeigt wird, wenn das Kartenbild abgerufen und geladen wird. Loading image
cardNavNext Das Label für die Kartennavigationsschaltfläche zur Anzeige der nächsten Karte in einem horizontalen Layout. Next card
cardNavPrevious Das Label für die Kartennavigationsschaltfläche zur Anzeige der vorherigen Karte in einem horizontalen Layout. Previous card
chatSubtitle Legt den Untertitel der Chatansicht fest, der unterhalb des Titels im Header der Chatansicht angezeigt wird. Wenn das Untertitel-Flag festgelegt ist und das Flag showConnectionStatus oder showTypingIndicator (oder beide) auf "true" gesetzt ist, wird der Untertitel anstelle des Verbindungsstatus oder des Eingabeindikators angezeigt. N/V
chatTitle Der Titel des Chatwidgets, der im Header angezeigt wird. Ask
clear Die QuickInfo, die angezeigt wird, wenn der Benutzer im Header auf die Schaltfläche "Nachrichten löschen" zeigt. Clear
close Die QuickInfo, die angezeigt wird, wenn der Benutzer im Header auf die Schaltfläche "Widget schließen" zeigt. Close
closing Der Statustext, der angezeigt wird, wenn die Verbindung zwischen dem Chatwidget und dem Server geschlossen wird. Closing
connected Der Statustext, der angezeigt wird, wenn die Verbindung zwischen dem Chatwidget und dem Server hergestellt wird. Connected
connecting Der Statustext, der angezeigt wird, wenn das Chatwidget eine Verbindung zum Chatserver herstellt. Connecting
connectionFailureMessage Die Fehlermeldung, die angezeigt wird, wenn das Widget keine Verbindung zum Skill herstellen kann. Sorry, the assistant is unavailable right now. If the issue persists, contact your help desk.
connectionRetryLabel Das Label der Schaltfläche "Verbindung wiederholen". Try Again
defaultGreetingMessage Die Standard-Clientbegrüßungsantwort, die angezeigt wird, wenn die Skillantwort nicht innerhalb der von defaultGreetingTimeout. festgelegten Anzahl von Sekunden empfangen wurde. Hey, Nice to meet you! Allow me a moment to get back to you.
defaultSorryMessage Die Standardclientantwort, wenn die Skillantwort nicht die von typingIndicatorTimeout festgelegte Anzahl von Sekunden empfangen wurde. Unfortunately, I am not able to get you the right content. Please try again.
defaultWaitMessage Die Standardantwort, die in dem Intervall angezeigt wird, in dem keine tatsächliche Skillantwort empfangen wurde. Dieses Intervall wird in Sekunden von defaultWaitMessageInterval festgelegt I'm still working on your request. Thank you for your patience!
disconnected Der Statustext, der angezeigt wird, wenn die Verbindung zwischen dem Chatwidget und dem Server geschlossen wurde. Disconnected
download Der Barrierefreiheitstext für die Downloadschaltfläche, der in jeder vom Skill gesendeten Anhangsnachricht angezeigt wird. Download
endConversation Die QuickInfo, die angezeigt wird, wenn Sie den Mauszeiger über die Schaltfläche "Kopfzeile der Unterhaltung beenden" bewegen. End Conversation
endConversationConfirmMessage Die Bestätigungsmeldung, die angezeigt wird, wenn ein Benutzer auf die Schaltfläche "Unterhaltung beenden" klickt. Are you sure you want to end the conversation?
endConversationDescription Die Beschreibungsmeldung, die zusammen mit der Bestätigungsmeldung in der Eingabeaufforderung zum Beenden der Konversation angezeigt wird. This will also clear your conversation history.
errorSpeechInvalidUrl Die Fehlermeldung, die angezeigt wird, wenn die Sprachserver-URL nicht festgelegt ist. ODA URL for connection is not set. Please pass 'URI' parameter during SDK initialization.
errorSpeechMultipleConnection Die Fehlermeldung, die angezeigt wird, wenn innerhalb eines kurzen Intervalls versucht wird, mehrere Sprachverbindungen herzustellen. Another voice recognition is ongoing. Can't start a new one.'
errorSpeechTooMuchTimeout Die Fehlermeldung, die angezeigt wird, wenn ein Benutzer eine zu lange Sprachnachricht eingibt. Too much voice input to recognize. Can not generate recognized text.
errorSpeechUnsupportedLocale Die Fehlermeldung, die angezeigt wird, wenn eine Aufzeichnung versucht wird und ein nicht unterstütztes Gebietsschema für die Spracherkennung konfiguriert wurde. The set speech locale is not supported. Cannot start recording.
imageViewerClose Der Barrierefreiheitstext für die Schaltfläche, mit der das eingeblendete Bild geschlossen wird. Close image viewer
imageViewOpen Der Barrierefreiheitstext für die Schaltfläche, mit der das Bild erweitert wird. Open image viewer
inputPlaceholder Der Platzhaltertext, der im Benutzereingabefeld angezeigt wird. Type a message
itemIterator Element-ID in einer Liste von Elementen in einer Table-, Form- oder Table-Form-Nachricht. Der Text ({0}) wird durch den Elementindex ersetzt. Item {0}
language_<languageTag> Das Label für die Sprache, die durch languageTag dargestellt wird. Beispiel: English für en in der Dropdown-Liste für die Sprachauswahl, die beim Konfigurieren des mehrsprachigen Chats verfügbar ist. | Language Label
language_detect Die Option "Label für automatische Erkennung" im Dropdown-Menü "Sprachauswahl". Detect Language
languageSelectDropdown Die QuickInfo, die angezeigt wird, wenn Benutzer den Mauszeiger über die Schaltfläche zur Sprachauswahl im Header bewegen. Select chat language
linkField Der Ersatzäußerungstext für ein Linkfeld in einer Nachricht vom Typ Table, Form oder Table-Form. Der Platzhalter ({0}) wird durch linkLabel des Feldes ersetzt. Click on the highlighted text to open Link for {0}
noSpeechTimeout Der Statustext, der angezeigt wird, wenn der Chatserver die Stimme nicht erkennen kann. Could not detect the voice, no message sent.
noText Das Label für die Schaltfläche "Keine Bestätigung". No
openMap Das Label für die Aktionsschaltfläche zum Öffnen einer Standortkarte. Open Map
previousChats Der Statustext, der am Ende von älteren Nachrichten angezeigt wird. Previous conversations
ratingStar Der QuickInfo-Text, der für jeden Bewertungsstern in einer Feedbacknachricht angezeigt wird. Der Platzhalter `{0}` wird durch die Anzahl der Sterne ersetzt, die der Benutzer ausgewählt hat. Rate {0} star
recognitionTextPlaceholder Wenn der Sprachmodus aktiviert ist, wird dieser Platzhaltertext im Erkennungstextfeld angezeigt. Speak your message
relTimeDay Der relative Zeitstempel, der jeden Tag seit dem Eingang der vorherigen Nachricht angezeigt wird. {0} wird durch die Anzahl der verstrichenen Tage ersetzt. {0}d ago
relTimeHr Der relative Zeitstempel, der in den ersten 24 Stunden nach dem Empfang der vorherigen Nachricht jede Stunde angezeigt wird. {0} wird durch die Anzahl der verstrichenen Stunden ersetzt. {0}hr ago
relTimeMin Der relative Zeitstempel, der jede Minute seit dem Empfang der letzten Nachricht angezeigt wird. {0} wird durch die Anzahl der verstrichenen Minuten ersetzt. {0}min ago
relTimeMoment Der relative Zeitstempel, der zehn bis 60 Sekunden nach dem Empfang der Nachricht angezeigt wird. A few seconds ago
relTimeMon Der relative Zeitstempel, der jeden Monat seit dem Eingang der vorherigen Nachricht angezeigt wird. {0} wird durch die Anzahl der verstrichenen Monate ersetzt. {0}mth ago
relTimeNow Der relative Zeitstempel, der für eine neue Nachricht angezeigt wird. Now
relTimeYr Der relative Zeitstempel, der jedes Jahr nach dem Eingang der vorherigen Nachricht angezeigt wird. {0} wird durch die Anzahl der verstrichenen Jahre ersetzt. {0}yr ago
requestLocation Der Text, der angezeigt wird, wenn der Benutzerstandort angefordert wird. Requesting location
requestLocationDeniedPermission Die Fehlermeldung, die angezeigt wird, wenn die Berechtigung zum Zugriff auf den Standort verweigert wird. Location permission denied. Please allow access to share your location, or else type in your location.
requestLocationDeniedTimeout Die Fehlermeldung, die angezeigt wird, wenn die Standortanforderung aufgrund eines Timeouts nicht aufgelöst wird. Taking too long to get your current location. Please try again, or else type in your location.
requestLocationDeniedUnavailable Die Fehlermeldung, die angezeigt wird, wenn die Standortanforderung abgelehnt wird, weil der aktuelle Standort des Clientgerätes nicht verfügbar ist. Your current location is unavailable. Please try again, or else type in your location.
requestLocationString Der Fehlertext, der angezeigt wird, wenn der Benutzer die Standortanforderung ablehnt. Cannot access your location. Please allow access to proceed further.
retryMessage Der Text, der angezeigt wird, wenn die Benutzernachricht nicht an den Server gesendet wurde. Try again
send Die QuickInfo wird angezeigt, wenn der Benutzer im Footer auf die Sendeschaltfläche zeigt. Send
shareAudio Der Menüoptionstext im Popup-Fenster "Teilen" für das Teilen einer Audiodatei. Share Audio
shareFailureMessage Die Fehlermeldung, die angezeigt wird, wenn in einer Nachricht auf die Aktionsschaltfläche "Teilen" geklickt wird, die Sharing-API jedoch auf dem Clientgerät nicht verfügbar ist oder die Sharing-Anforderung abgelehnt wurde. Sorry, sharing is not available on this device.
shareFile Der Menüoptionstext im Popup-Fenster "Teilen" für das Teilen einer generischen Datei. Share File
shareLocation Der Menüoptionstext für das Teilen eines Standorts im Popup-Fenster. Share Location
shareVisual Der Menüoptionstext im Popup-Fenster "Teilen" für das Teilen einer Bild- oder Videodatei. Share Image/Video
skillMessage Ein Skillnachrichtenindikator für Bildschirmsprachausgaben. Der Text wird von Bildschirmsprachausgaben vor der Skillantwort gesprochen. Skill says
speak Die QuickInfo, die angezeigt wird, wenn der Benutzer im Footer auf die Schaltfläche zum Sprechen zeigt. Speak
typingIndicator Der Barrierefreiheitstext für den Eingabeindikator. Es wird von den Screenreadern gesprochen. Waiting for response
upload Die QuickInfo, die angezeigt wird, wenn der Benutzer im Footer auf die Schaltfläche "Hochladen" zeigt. Share popup
uploadFailed Der Fehlertext, der angezeigt wird, wenn ein Upload nicht erfolgreich ist. Upload Failed.
uploadFileSizeLimitExceeded Der Fehlertext, der angezeigt wird, wenn die Größe der Uploaddatei den Grenzwert überschreitet. Upload Failed. File size should not be more than 25MB.
uploadFileSizeZeroByte Der Fehlertext, der angezeigt wird, wenn die Größe der Uploaddatei 0 Byte beträgt. Upload Failed. Files of size zero bytes cannot be uploaded.
uploadUnsupportedFileType Der Fehlertext, der beim Versuch angezeigt wird, einen nicht unterstützten Dateityp hochzuladen. Upload Failed. Unsupported file type.
userMessage Ein Benutzernachrichtenindikator für Bildschirmsprachausgaben. Der Text wird von Bildschirmsprachausgaben vor den Benutzernachrichten gesprochen. I say
utteranceGeneric Die Fallback-Beschreibung für die Antwortnachricht, die in der Äußerung verwendet wird. Message from skill.
webViewAccessibilityTitle Der standardmäßige Barrierefreiheitstitel für die Webansicht, der von der Bildschirmsprachausgabe vorgelesen wird. In-widget WebView to display links
webViewClose Der Standardtitel für label/tooltip für die Schaltfläche zum Schließen der Webansicht. Done
webViewErrorInfoDismiss Die QuickInfo für die Schaltfläche "Verwerfen", die zum Schließen des Fallback-Links in der Webansicht verwendet wird. 'Dismiss'
webViewErrorInfoText Der in der Webansicht angezeigte Informationstext, wenn der angeklickte Link nicht darin geöffnet werden kann. Der Text zwischen {0} und {/0} wird auf den ursprünglichen Link gesetzt, der in einer neuen Registerkarte oder einem neuen Fenster geöffnet wird. Sorry, we can't open this page in the chat window. Click {0}here{/0} to open it in your browser.
yesText Das Label für die Bestätigungsschaltfläche "Ja". Yes
editFieldErrorMessage Die Fehlermeldung auf Feldebene, die angezeigt wird, wenn der vom Benutzer eingegebene Wert für dieses Feld ungültig ist. Das SDK wird standardmäßig auf diese Meldung gesetzt, wenn der Skill keine Clientfehlermeldung bereitstellt. Field Input is invalid
editFormErrorMessage Die Fehlermeldung auf Formularebene, die unter der Weiterleitungsaktion des Formulars für die clientseitige Validierung angezeigt wird. Diese Meldung wird angezeigt, wenn mindestens eines der Felder nicht gültig ist und mehrere Felder vorhanden sind. Das SDK wird standardmäßig auf diese Nachricht gesetzt, wenn der Skill keine Fehlermeldung in der Nachrichten-Payload bereitstellt. Some of the fields need your attention.
noResultText Der Statustext, der angezeigt wird, wenn keine Übereinstimmungen aus einer Benutzersuche in der Mehrfachauswahllistenansicht vorhanden sind. No more results

Optionen für das Menü "Teilen" konfigurieren

Standardmäßig werden im Menü "Teilen" Optionen für die folgenden Dateitypen angezeigt:
  • Visuelle Mediendateien (Bilder und Videos)
  • Audio-Dateien
  • Allgemeine Dateien wie Dokumente, PDFs und Kalkulationstabellen
  • Speicherort


Mit der Einstellung shareMenuItems können Sie die Optionen einschränken, die im Menü "Teilen" angezeigt werden. Die Einstellung akzeptiert ein Zeichenfolgenarray mit Schlüsseln, die den Optionen im Menü "Teilen" zugeordnet sind: 'visual' für das Element Bild/Video teilen, 'audio' für das Element Audio teilen, 'file' für das Element Datei teilen und 'location' für das Element Standort teilen. Mit diesen Schlüsseln, bei denen die Groß-/Kleinschreibung nicht beachtet wird, können Sie angeben, welche Optionen im Menü verfügbar sind (Beispiel: ['visual', 'location']). Alle Menüoptionen sind verfügbar, wenn das Array leer ist oder wenn ein ungültiger Wert übergeben wird.
Hinweis

Sie können die Anhangsfunktion deaktivieren, indem Sie enableAttachment auf false setzen.


Die Verwendung von Anhangsfunktionen erfordert häufig eine Aktualisierung der Netzwerksicherheits-Policy der Hostsite. Die Anhänge, die mit HTTP-Aufrufen in den Oracle Digital Assistant-Objektspeicher hochgeladen werden, können von den CORS-Policys der Site blockiert werden. Wenn die Site die Uploads blockiert, kann in der Browserkonsole ein Fehler angezeigt werden, der angibt, dass der Client die Anforderung aufgrund einer CORS-Policy blockiert hat. Um solche Probleme zu beheben, muss die Netzwerksicherheits-Policy der Hostsite aktualisiert werden, damit die Oracle Digital Assistant-Domain zugelassen wird. Auf diese Weise können die Uploadanforderungen erfolgreich ausgeführt werden. Da die CORS-Policy nicht für WebSockets gilt, sind die Unterhaltungen zwischen dem SDK und den Skills von solchen Einschränkungen nicht betroffen.
Hinweis

Aktivieren Sie diese Einstellung nicht, wenn sich der Skill mit einer ODA-Instanz mit Version 20.08 verbindet oder auf einer Version vor 20.08 ausgeführt wird. Diese Eigenschaft gilt nur für Verbindungen mit aktivierter Clientauthentifizierung zu Versionen 20.12 und höher der ODA-Plattform.

Benutzerdefinierte Optionen für das Menü "Teilen"

Sie können die Option des Menüs "Teilen" so anpassen, dass bestimmte Dateitypen angezeigt werden. Um dieses benutzerdefinierte Menü zu erstellen, übergeben Sie jede Menüoption als Objekt des Arrays shareMenuItems:
{
type: string,       // Space separated list of file formats, pass '*' to allow all supported file types

label: string,      // OPTIONAL, label for the share menu item, should preferably be configured through i18n strings

icon?: string,      // OPTIONAL, Icon image source path or SVG source string, the file icon is displayed as fallback

maxSize?: number    // OPTIONAL, Maximum file size allowed for upload in KiloBytes, the maximum and fallback value is 25 MB (25600 KB)
}
Die Menüoption kann mit oder ohne Kategorie string übergeben werden.

Tipp:

Um Labels in mehreren Sprachen zu unterstützen, wird empfohlen, i18n anstelle des Tags label zu verwenden.
Das folgende Code-Snippet veranschaulicht, wie Sie das Array shareMenuItems in der Variable settings übergeben. Sie legen die Labels fest, indem Sie sie mit share_-Schlüsseln übergeben, die ebenfalls in diesem Snippet dargestellt werden. Sie können das Label für einen Platzhalter (*) mit dem i18n-Schlüssel share_all festlegen.
var settings = {
shareMenuItems: [ {
    type: 'pdf',
    label: 'Upload PDF',
}, {
    type: 'pdf'
}, {
    type: 'jpg png jpeg',
    icon: 'https://image-source-site/imageicon'
}, {
    type: 'doc docx xls',
    maxSize: 4096
}],
i18n: {
    en: {
        share_pdf: 'Upload PDF',
        share_jpg_png_jpeg: 'Upload Image',
        share_doc_docx_xls: 'Upload document'
    }
}
}

CSS-Klasse anpassen

Sie können die CSS-Klassen des Widgets durch benutzerdefinierte Stilregeln außer Kraft setzen, um das Look-and-Feel weiter anzupassen.
Klasse Komponente
oda-chat-launch-button Schaltfläche "Start des Chatwidgets"
oda-chat-button-clear Die Schaltfläche "Nachrichten löschen"
oda-chat-button-close Die Schaltfläche "Widget schließen"
oda-chat-button-narration Die Umschaltschaltfläche für die Audioantwort des Skills
oda-chat-button-send Die Schaltfläche "Nachricht senden"
oda-chat-button-upload Die Schaltfläche "Datei hochladen"
oda-chat-card Die Kartennachricht
oda-chat-closing Wird als gleichgeordnetes Element für oda-chat-connection-status angewendet, wenn das Widget die Verbindung zum Server beendet
oda-chat-connected Wird als gleichgeordnetes Element für oda-chat-connection-status angewendet, wenn das Widget mit dem Server verbunden ist
oda-chat-connecting Wird als gleichgeordnetes Element für oda-chat-connection-status angewendet, wenn das Widget eine Verbindung zum Server herstellt
oda-chat-connection-status Der Verbindungsstatus. Jeder Verbindungswert hat auch eine eigene Klasse, wie oda-chat-connected, oda-chat-disconnected oder oda-chat-connecting.
oda-chat-conversation Der Container für die Unterhaltung
oda-chat-disconnected Wird als gleichgeordnetes Element für oda-chat-connection-status angewendet, wenn das Widget nicht mit dem Server verbunden ist
oda-chat-footer Der Footer des Chatwidgets
oda-chat-footer-button Die gemeinsame Klasse für alle Footer-Schaltflächen
oda-chat-header Der Header des Chatwidgets
oda-chat-header-button Die gemeinsame Klasse für alle Headerschaltflächen
oda-chat-icon-wrapper Der Wrapper für den Skill oder für eine Person, der neben der Nachricht angezeigt wird.
oda-chat-left Der Wrapper für die Skillnachricht
oda-chat-logo Das Logo im Widgetheader
oda-chat-message Die gemeinsame Wrapper-Klasse für alle Chatnachrichten
oda-chat-message-action-location Die Aktionsschaltfläche für Standortanforderungen
oda-chat-message-action-postback Die Postback-Aktionsschaltfläche
oda-chat-message-actions Der Wrapper für Aktionsschaltflächen
oda-chat-message-bubble Die Nachrichtenblase
oda-chat-message-global-actions Der Wrapper für globale Aktionsschaltflächen
oda-chat-message-icon Das Bild für den Skill oder für eine Person, das neben der Nachricht angezeigt wird.
oda-chat-notification-badge Das Benachrichtigungsbadge für Nachrichten, die noch nicht angezeigt wurden.
oda-chat-rating-star Die Schaltfläche "Bewertungsstern" in einer Feedbacknachricht
oda-chat-rating-star-icon Das SVG-Symbol für die Schaltfläche "Stern bewerten"
oda-chat-right Der Wrapper für die Benutzernachricht
oda-chat-title Der Titel im Widgetheader
oda-chat-user-input Der Bereich für den Benutzereingabetext
oda-chat-widget Die eingeblendete Chatkomponente, die den Widgetheader, die Unterhaltung und den Footer wrappt.
oda-chat-wrapper Der Wrapper für die gesamte Chatkomponente

Zeitstempel anpassen

Standardmäßig zeigt der Zeitstempel, der im Header angezeigt wird, wenn timestampHeaderMode und timestampHeaderFormat festgelegt sind, das Format als Tag der Woche, des Monats, des Datums, des Jahres und der Uhrzeit (AM und PM) des Gebietsschemas an. Beispiel: Donnerstag, 13. August 2020, 9:52:22 AM. Sie können diesen Zeitstempel konfigurieren, indem Sie Formatierungsoptionen in der Einstellung timestampFormat übergeben. Sie können den Zeitstempel formatieren, indem Sie entweder eine Musterzeichenfolge mit Formatierungstoken oder ein Objekt mit Intl.DateTimeFormat-Optionen übergeben.

Datum und Uhrzeit mit Musterzeichenfolgen formatieren

Die für die Formatierung des Zeitstempels verwendeten Musterzeichenfolgen bestehen aus Formattoken. Beispiel: Wenn Sie timestampFormat: 'hh:mm:ss a' übergeben, wird der Zeitstempel auf 09:30:14 PM gesetzt.
Hinweis

Bei diesen Token wird die Groß-/Kleinschreibung beachtet. Beispiel: Wenn Sie yyyy anstelle von YYYY übergeben, wird das Jahr nicht angezeigt.
Komponente Token Ausgabe
Tag des Monats
  • D
  • Do
  • DD
  • 1 2 ... 30 31
  • 1. 2. ... 30. 31.
  • 1 2 ... 30 31
Wochentag
  • d
  • dd
  • dddd
  • 0 1 ... 5 6
  • So Mo ... Fr Sa
  • Sonntag Montag ... Freitag Samstag
Monat
  • M
  • MM
  • MMM
  • MMMM
  • 1 2 ... 11 12
  • 1 2 ... 11 12
  • Jan Feb ... Nov Dez
  • Januar Februar ... November Dezember
Jahr
  • YY
  • YYYY
  • 70 71 ... 29 30
  • 1.970 1.971 ... 2.029 2.030
Stunde
  • H
  • HH
  • h
  • hh
  • 0 1 ... 22 23
  • 0 1 ... 22 23
  • 1 2 ... 11 12
  • 1 2 ... 11 12
Minute
  • m
  • mm
  • 0 1 ... 58 59
  • 0 1 ... 58 59
Sekunde
  • s
  • ss
  • 0 1 ... 58 59
  • 0 1 ... 58 59
Sekunde
  • S
  • SS
  • SSS
  • 0 1 ... 8 9
  • 0 1 ... 98 99
  • 0 1 ... 998 999
AM/PM
  • A
  • a
  • AM PM
  • am pm
Zeitzone
  • Z
  • ZZ
  • -7:0 -6:0 ... +6:0 +7:0
  • -0700 -0600 ... +0600 +0700li

Zeitstempel mit Intl.DateTimeFormat-Objekten formatieren

Der Zeitstempel kann auch mit den für das Intl.DateTimeFormat-Objekt definierten Optionen formatiert werden. Folgende Eigenschaften werden mit dem Objekt übergeben:
Eigenschaft Werte
dateStyle 'full' | 'long' | 'medium' | 'short'
timeStyle 'full' | 'long' | 'medium' | 'short'
weekday
  • 'long' (Beispiel: Thursday)
  • 'short' (Beispiel: Thu)
  • 'narrow' (Beispiel: T)
day
  • 'numeric'
  • '2-digit'
month
  • 'numeric' (Beispiel: 2)
  • '2-digit' (Beispiel: 02)
  • 'long' (Beispiel: March)
  • 'short' (Beispiel: Mar)
  • 'narrow' (Beispiel: M)
year
  • 'numeric'
  • '2-digit'
era
  • 'long' (Beispiel: Anno Domini)
  • 'short' (Beispiel: AD)
  • 'narrow' (Beispiel: A)
hour
  • 'numeric'
  • '2-digit'
minute
  • 'numeric'
  • '2-digit'
second
  • 'numeric'
  • '2-digit'
timeZoneName
  • 'long' (Beispiel: British Summer Time)
  • 'short' (Beispiel: GMT+1)
timeZone Zeitzone. Alle Implementierungen müssen UTC erkennen. Der Standardwert ist die zur Laufzeit gültige Standardzeitzone. Implementierungen können auch die Zeitzonennamen der IANA-Zeitzonendatenbank erkennen, wie Asia/Shanghai, Asia/Kolkata, America/New_York.
hour12 Gibt an, ob das 12-Stunden-Format (im Gegensatz zum 24-Stunden-Format) verwendet werden soll. Gültige Werte sind true und false.

Bewertungsanzeige für Feedbacknachricht anpassen

Mit der Feedbackkomponentennachricht können Sie Benutzerfeedback sammeln. Wenn Sie das 21.10-SDK verwenden, ist die Standarddarstellung der Feedbackkomponente ein Sternbewertungssystem, eine horizontale Sternreihe, die hervorgehoben wird, wenn Benutzer mit der Maus über diese Elemente zeigen und sie auswählen. Sie können das Verhalten der Komponente mit der Komponente Benutzerfeedback ändern. Sie können jedoch die Darstellung der Komponenten mit den SDK-Einstellungen anpassen.

Sie können das Symbol für die Schaltflächen zur Bewertungsauswahl der Komponente ändern, indem Sie das Symbol Ihrer Wahl übergeben, indem Sie das Symbol rating im Feld icons definieren.

Tipp:

Für eine optimale Benutzererfahrung verwenden Sie eine durchgehende SVG-Zeichenfolge ohne Füllfarbe, da sie eine erkennbare Hervorhebung beim Hover ermöglicht.
new WebSDK({
    URI: '<Server URI>',
    //...,
    icons: {
        rating: '<svg height="24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M15.994 3.006a5.7 5.7 0 00-3.795 1.707L12 4.916l-.199-.202a5.676 5.676 0 00-8.128 0c-2.231 2.275-2.231 5.953 0 8.228L12 21.428l8.326-8.486A5.873 5.873 0 0022 8.828a5.873 5.873 0 00-1.675-4.115A5.693 5.693 0 0016.262 3z"/></svg>'    // A heart icon
    }
})
Die Farbe des Symbols in den beiden Statusangaben (nicht ausgewählt und mit Mouseover/ausgewählt) kann mit den Farbfeldern ratingStar und ratingStarFill in der Farbeinstellung konfiguriert werden.
new WebSDK({
    URI: '<Server URI>',
    //...,
    icons: {
        rating: '<svg height="24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M15.994 3.006a5.7 5.7 0 00-3.795 1.707L12 4.916l-.199-.202a5.676 5.676 0 00-8.128 0c-2.231 2.275-2.231 5.953 0 8.228L12 21.428l8.326-8.486A5.873 5.873 0 0022 8.828a5.873 5.873 0 00-1.675-4.115A5.693 5.693 0 0016.262 3z"/></svg>'    // A heart icon
    },
    colors: {
        ratingStar: '#ffebee',
        ratingStarFill: '#d32f2f'
    }
})

Tipp:

Sie können die Prompts, die von der Komponente "Benutzerfeedback" ausgegeben werden, anpassen, indem Sie die Feedback-bezogenen Resource Bundles bearbeiten, auf die über die Seite Resource Bundle-Konfiguration zugegriffen wird, oder indem Sie die systemComponent_Feedback_-Schlüssel in einer exportierten Resource Bundle-CSV-Datei bearbeiten.

Erste Nachricht senden, wenn die Unterhaltungshistorie leer ist

Die initUserHiddenMessage-Nachrichten werden unabhängig von der Unterhaltungshistorie des Benutzers gesendet. Sie werden beim ersten Öffnen des Chatwidgets für jede Session gesendet. Um die erste Nachricht zu senden, wenn die Unterhaltungshistorie leer ist, müssen Sie einen Ereignis-Listener an die Methode Bots.on() binden. Beispiel:
Bots = new WebSDK(chatWidgetSettings);

var isHandled = false;
var message = ;

Bots.on(WebSDK.EVENT.WIDGET_OPENED, function() {
    if (!isHandled && Bots.isConnected() && !Bots.getConversationHistory().messagesCount) {
        Bots.sendMessage(message, { hidden: true });
        isHandled = true;
    }
});

Bots.on(WebSDK.EVENT.NETWORK, function(state) {
    if (!isHandled && Bots.isConnected() && Bots.isChatOpened() && !Bots.getConversationHistory().messagesCount) {
        Bots.sendMessage(message, { hidden: true });
        isHandled = true;
    }
});

Bots.connect();

Sprechsynthese-Service-Injektion

Durch die Verwendung des nativen Text-zu-Sprache-Service des Geräts ermöglicht die Text-zu-Sprache-(TTS-)Synthese des SDK die Äußerung der Antworten des Skills, sobald sie von der Web-SDK-Instanz empfangen werden. Dies ist der Out-of-the-box-Ansatz, und obwohl er zuverlässig ist, hat er einige Nachteile:
  • Sie sind oft auf unnatürliche, generisch klingende Stimmen beschränkt, die Ihr Branding untergraben können.
  • Das Gerät eines Benutzers unterstützt möglicherweise keine geschlechtsspezifischen Stimmen.
  • Einige native Frameworks (darunter Cordova und ReactNative) erfordern Librarys von Drittanbietern für TTS-Services, da ihre Webviews die für das Web-SDK erforderlichen nativen Sprachsynthese-APIs nicht bereitstellen.
Um diese Herausforderungen zu bewältigen, können Sie die für die Antworten des Skills verwendete Sprache festlegen, indem Sie einen TTS-Service in die SDK-Instanz injizieren, indem Sie das SDK mit dem Feature-Flag ttService initiieren oder die Methode setTTSService aufrufen (die in der Dokumentation zu dem SDK beschrieben wird). Sie können einen von Oracle bereitgestellten Service wie den Oracle Cloud Infrastructure (OCI) Speech-Service oder einen von einem Drittanbieter bereitgestellten Service verwenden.

Text in Sprache

  • Feature-Flag: enableBotAudioResponse: true (Standard ist false.)
  • Standard-TTS-Service: WebSDK.TTS.oracle
  • Featurekonfiguration: ttsVoice

Sie können die Konversationserfahrung bereichern, indem Sie TTS (Text-to-Speech) aktivieren, um die Antworten beim Erreichen des SDK zu sprechen. Das SDK stellt zwei TTS-Servicetypen standardmäßig bereit: WebSDK.TTS.platform und WebSDK.TTS.oracle. Standardmäßig verwendet das SDK den Oracle Cloud Infrastructure-(OCI-)Sprachservice für Antworten, die in einem naturalistischeren Ton gesprochen werden. Dieser Service bietet eine einfache Markenerfahrung, da er mehrere Stimmen bietet. Stattdessen können Sie jedoch den plattformabhängigen TTS-Service WebSDK.TTS.platform verwenden, der auf der Web Speech-API basiert. Es verwendet die Sprachsynthese-APIs auf dem Gerät des Benutzers, um die Antworten zu sprechen.

Mit dem Array ttsVoice können Sie die Stimme für das TTS konfigurieren. Jedes Element im Array muss ein Objekt sein, das mindestens ein Feld lang oder ein Feld name enthält. Das SDK prüft die Verfügbarkeit jeder Stimme in der Reihenfolge, in der sie in der Einstellung übergeben werden. Die erste vollständige Übereinstimmung wird als Stimme festgelegt. Wenn keine genaue Übereinstimmung gefunden wird, verwendet das SDK die erste Übereinstimmung basierend auf dem Wert lang. Wenn noch keine Übereinstimmung vorhanden ist, verwendet das SDK die Standard-Voice.
var settings = {
    ...,
    enableBotAudioResponse: true,
    ttsVoice: [{
        lang: 'en-US',
        name: 'Samantha'
    }, {
        lang: 'en-US',
        name: 'Alex'
    }, {
        lang: 'en-UK'
    }]
}
Um die Art und Weise anzupassen, wie die Äußerungen gesprochen werden, ermöglicht das Array ttsVoice die Übergabe der optionalen Eigenschaften pitch, rate und volume in jedem Element. Diese Eigenschaften entsprechen den gleichen Feldern in der Schnittstelle SpeechSynthesisUtterance.
  • Die Eigenschaft pitch kann einen Wert zwischen 0 und 2 aufweisen.
  • Die Eigenschaft rate kann einen Wert zwischen 0,1 und 10 aufweisen.
  • Die Eigenschaft volume kann einen Wert zwischen 0 und 1 haben.
Beispiel:
var settings = {
    // ....,
    ttsVoice: [{
        lang: 'en-us',
        name: 'Alex',
        pitch: 1.5,
        rate: 2,
        volume: 0.8
    }, {
        lang: 'en-us',
        name: 'Victoria',
        pitch: 1.2,
        rate: 1.7,
    }, {
        lang: 'en',
        name: 'Fiona',
        pitch: 2,
    }, {
        lang: 'en'
    }]
}

Service-Schnittstelle für die Sprachsynthese

Sie müssen die Schnittstelle SpeechSynthesisService für die TTS-Serviceinstanz implementieren, die Sie injizieren möchten.
/**
 * Interface for the speech synthesis service; this can be used to define a service that can be
 * injected into the SDK to perform speech synthesis on behalf of the skill or assistant
 */
interface SpeechSynthesisService {
    /**
     * Adds a phrase to the utterance queue to be spoken
     * @param phrase string
     */
    speak(phrase: string): void;

    /**
     * Cancels any ongoing speech synthesis utterance
     */
    cancel(): void;

    /**
     * Returns a Promise that resolves into a list of SpeechSynthesisServiceVoice objects representing
     * the available voices
     *
     * @return {*}  {Promise<SpeechSynthesisServiceVoice[]>}
     */
    getVoices(): Promise<SpeechSynthesisServiceVoice[]>;

    /**
     * Sets the voice to be used for speaking the utterances. It accepts an array of candidate voices
     * sorted in their preference order, and sets one of them according to its matching criteria.
     * It returns a Promise that gets resolved when the voice is set.
     *
     * @param {SpeechSynthesisServiceVoice[]} voice
     * @return {*}  {Promise<void>}
     */
    setVoice(voices: SpeechSynthesisServiceVoice[]): Promise<void>;

    /**
     * Returns the voice that is used for speaking the utterances
     */
    getVoice(): SpeechSynthesisServiceVoice;
}
Sie müssen die SpeechSynthesisServiceVoice-Schnittstelle für die im Sprachsyntheseservice verwendeten Stimmen implementieren oder erweitern:
/**
 * Represents a voice that the SpeechSynthesisService supports. Every SpeechSynthesisServiceVoice has
 * its own relative speech service including information about language, name and optionally more.
 */
interface SpeechSynthesisServiceVoice {
    /**
     * Returns a BCP 47 language tag indicating the language of the voice
     */
    readonly lang: string;

    /**
     * Returns a human-readable name that represents the voice
     */
    readonly name: string;

    /**
     * Pitch of the voice, can range between 0 and 2, default is 1
     * Optional
     */
    pitch?: number;

    /**
     * Speed at which the utterance is spoken at, can range between 0.1 and 10, default is 1
     * Optional
     */
    rate?: number;

    /**
     * Volume at which the utterance is spoken at, can range between 0 and 1, default is 1
     * Optional
     */
    volume?: number;
}
Sobald Ihr TTS-Service einem Objekt zugeordnet ist, das die Sprachsynthese-API implementiert, kann er an das SDK zur Injection des TTS-Service übergeben werden. Der Service kann injiziert werden, wenn dieses Objekt während der Initialisierung an das Feld ttsService übergeben wird, oder er kann dynamisch injiziert werden, indem das Objekt an die Methode setTTSService(service) übergeben wird.

Nachdem der TTS-Service injiziert wurde, verarbeitet das SDK die Aufrufe an die Servicemethoden zum Aussprechen der Nachrichten. Sie können diese Methoden jedoch direkt aufrufen oder die vom SDK bereitgestellten TTS-Methoden für jede Anforderung verwenden. Beispiel: Im Headless-Modus können Sie die Methode Bots.speakTTS(message) aufrufen, um eine Nachricht so zu übergeben, wie sie vom Skill empfangen wird. Das SDK verarbeitet sowohl das Parsen des aussprechbaren Textes aus der Nachricht als auch die Übergabe dieses Textes an den TTS-Service, sodass er ausgesprochen werden kann.