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
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
- 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
<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:
|
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.
|
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
- 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:
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:
|
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:
|
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: 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: 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 |
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 |
|
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:
['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 |
|
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:
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 beschriebenHinweis: Damit wird der Nachrichtenzeitstempel und nicht der Headerzeitstempel gesteuert. . |
Nein |
|
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.
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 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.
- Definieren Sie in
settings.js
eindelegate
-Objekt mit einerbeforeDisplay
-Callback-Funktion in dervar chatWidgetSettings
-Deklaration:
Wenn die Nachricht den Typdelegate: { beforeDisplay: function (message) { var messagePayload = message && message.messagePayload; if (messagePayload.type === 'text') { messagePayload.text = splitParagraph(messagePayload.text); } return message; } }
text
aufweist, ruftbeforeDisplay
die benutzerdefinierte FunktionsplitParagraph
auf, um den Text nach dem ersten Absatz aufzuteilen. - Deklarieren Sie die Variablen für die benutzerdefinierten
splitParagraph
- undtoggleParagraph
-View-Funktionen:var PREFIX_DOTS = 'dots_'; var PREFIX_MORE = 'more_'; var PREFIX_TOGGLE = 'toggle_button';
- Fügen Sie den
splitParagraph
-Funktionsausdruck und dietoggleParagraphView
-Funktion hinzu.splitParagraph
ist ein IIFE-Ausdruck (Sofort aufgerufener Funktionsausdruck), der die VariableglobalIDCounter
isoliert, sodass nur die FunktionsplitParagraph
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'; } }
- 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>
- Wenn Sie die Schaltflächen nicht formatieren möchten, fügen Sie den folgenden Code hinzu:
Layout
- 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.
<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



colors.headerButtonFill
in den Ausgangseinstellungen angepasst werden.
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 |
|
Schließen | Blendet das Widget aus und zeigt die Schaltfläche "Starten" ![]() |
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 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'; } }
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.
|
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.
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 Eigenschafttheme
definierte Layout wird auf SVG-Zeichenfolgen für Anhangs-, Sende- und Mikrofonschaltflächen angewendet, jedoch nicht für die anderen Bildassets.
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. |
|
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. |
|
fileGeneric |
fileIcon |
Das Symbol für Dateianhänge. |
|
fileImage |
imageIcon |
Das Symbol für Bildanhänge, das angezeigt wird, wenn die Anhangsquelle nicht erreicht werden kann. |
|
fileVideo |
videoIcon |
Das Symbol für Videoanhänge, das angezeigt wird, wenn die Anhangsquellen-URL nicht erreicht werden kann. |
|
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. |
|
logo |
logoIcon |
Das Chatlogosymbol, das im Header des Chatwidgets angezeigt wird. |
|
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 |
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
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
- 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.
Sie können die Anhangsfunktion deaktivieren, indem Sie
enableAttachment
auf false
setzen.
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"
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 Tagslabel
zu verwenden.
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
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
timestampFormat: 'hh:mm:ss a'
übergeben, wird der Zeitstempel auf 09:30:14 PM gesetzt.
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 |
|
|
Wochentag |
|
|
Monat |
|
|
Jahr |
|
|
Stunde |
|
|
Minute |
|
|
Sekunde |
|
|
Sekunde |
|
|
AM/PM |
|
|
Zeitzone |
|
|
Zeitstempel mit Intl.DateTimeFormat-Objekten formatieren
Eigenschaft | Werte |
---|---|
dateStyle |
'full' | 'long' | 'medium' | 'short' |
timeStyle |
'full' | 'long' | 'medium' | 'short' |
weekday |
|
day |
|
month |
|
year |
|
era |
|
hour |
|
minute |
|
second |
|
timeZoneName |
|
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.
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 diesystemComponent_Feedback_
-Schlüssel in einer exportierten Resource Bundle-CSV-Datei bearbeiten.
Erste Nachricht senden, wenn die Unterhaltungshistorie leer ist
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
- 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.
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 istfalse
.) - 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.
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.
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
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;
}
/**
* 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.