Erweiterter Nutzungsleitfaden für Website
Der Website-Kanal unterstützt zusätzliche Konfigurationsoptionen über die LiveDesk Widget-SDK-Schnittstelle oder durch die Verwendung eines iframes, um unterschiedliche Benutzeranforderungen zu erfüllen.
iframe-bezogene Einstellungen
Den Willkommensbildschirm überspringen
Im iframe-Modus können Benutzer den Willkommensbildschirm beim Öffnen der Bubble überspringen, indem sie den Parameter action=autoStart hinzufügen. Dadurch gelangen sie direkt zum Chatfenster, um ein Gespräch zu beginnen.
<iframe
class="livedesk-widget-iframe"
src="https://livedesk-stg.engagelab.com/console/livedesk/widget/?website_token=iTMtGDnzR1tccf3fiikLjL71&action=autoStart" // Ersetzen Sie website_token durch den entsprechenden Wert, der nach dem Erstellen des Kanals generiert wurde
title="Live desk"
allow="camera;microphone"
/>
Benutzer-ID festlegen
Es stehen zwei Konfigurationsmethoden zur Verfügung:
Methode 1:
Array.from(document.getElementsByTagName('iframe'))
.filter((iframe) => iframe.src && iframe.src.includes('livedesk'))
.forEach((iframe) =>
iframe.contentWindow?.postMessage(
'livedesk-widget:' +
JSON.stringify({
event: 'set-user',
identifier: 'your_user_id',
user: { name: 'Display Name', email: 'user@example.com' },
}),
'*',
),
);
Methode 2: Fügen Sie den Parameter user_id=xxxxx zum iframe hinzu.
<iframe
class="livedesk-widget-iframe"
src="https://livedesk-stg.engagelab.com/console/livedesk/widget/?website_token=Etsz4XtvqKi7iqbHf8Ma6ZLR&action=autoStart&user_id=5002"
title="LiveDesk"
allow="camera;microphone"
/>
LiveDesk Widget-SDK-Schnittstelle
Benutzer-ID und Benutzerinformationen festlegen (Standardmodus)
window.addEventListener("livedesk:ready", function () {
window.$livedesk.setUserId("Eindeutige Benutzer-ID (z. B. user_id)", { // Der erste Parameter ist der eindeutige Bezeichner
email: "user@example.com",
name: "Benutzername",
avatar_url: "https://example.com/avatar.jpg", // Optional
phone_number: "+1234567890" // Optional
});
});
window.addEventListener("livedesk:ready", function ()) entfernen.
Benutzer-ID und Benutzerinformationen festlegen (verschlüsselter Modus)
Authentifizierung aktivieren (empfohlen): Um Fälschungen zu verhindern und die sitzungsübergreifende Persistenz zwischen Browsern sicherzustellen, aktivieren Sie HMAC in der Konfiguration (verwenden Sie SHA256 zur Generierung von identifier_hash). Beispiel (JavaScript):
const crypto = require('crypto');
const key = 'Your HMAC Token'; // Aus den Inbox-Einstellungen kopieren
const message = 'Unique user ID';
const identifier_hash = crypto.createHmac('sha256', key).update(message).digest('hex');
// In setUser anhängen
window.$livedesk.setUserId("Unique user ID", {
...Other information,
identifier_hash: identifier_hash
});
Benutzerdefinierte Konversationsvariablen festlegen
window.$livedesk.setConversationCustomAttributes({
utm_source: "google", // Beispiel: UTM auf Konversationsebene
session_type: "support"
});
- Diese benutzerdefinierten Variablen werden unter
LiveDesk - Conversation - Conversation Infoangezeigt.
Benutzerdefinierte Benutzervariablen festlegen
window.addEventListener("livedesk:ready", function () {
window.$livedesk.setCustomAttributes({
pricing_plan: "premium", // key: vordefinierter eindeutiger Bezeichner; value: entsprechend dem Typ festlegen (z. B. string)
signup_date: new Date(), // Beispiel: Datumstyp
account_id: 123 // Beispiel: Zahlentyp
});
});
- Diese benutzerdefinierten Variablen werden unter
LiveDesk - Conversation - Contact Attributesangezeigt.
Benutzerattribute löschen
Löscht das angegebene benutzerdefinierte Attribut.
window.$livedesk.deleteCustomAttribute("pricing_plan"); // Schlüsselname des String-Attributs
Den Öffnungszustand der Chat-Bubble umschalten
Schaltet den Öffnungs-/Schließzustand des Widgets um.
window.$livdesk.toggle();
// Widget durch Übergabe eines Zustands umschalten
window.$livedesk.toggle("open"); // Chat-Widget öffnen
window.$livedesk.toggle("close"); // Chat-Widget schließen
Die Chat-Bubble anzeigen/ausblenden
window.$livedesk.toggleBubbleVisibility('hide'); // anzeigen/ausblenden
Pop-out-Modus
Öffnet die Chat-Oberfläche im Pop-out-Fenstermodus.
window.$livedesk.popoutChatWindow();
Sprache festlegen
Legt die Sprache des Widgets fest.
window.$livedesk.setLocale("en"); // String-Sprachcode, zum Beispiel: zh-CN
Labels hinzufügen/entfernen
Fügt der aktuellen Sitzung Labels hinzu (bevor die Konversation beginnt). Die Labels werden automatisch auf die Konversation angewendet.
window.$livdesk.setLabel('support-ticket'); // String-Label-Bezeichner
window.$livdesk.removeLabel('support-ticket');
LiveDesk Widget-Konfigurationsobjekt
Ein globales Objekt, das während der Initialisierung (vor dem Laden des SDK) festgelegt wird, um das Verhalten des Widgets anzupassen. Definieren Sie es über window.livedeskSettings und übergeben Sie es dann an window.livedeskSDK.run().
Objekteigenschaften
| Property Name | Type | Description | Default Value | Example |
|---|---|---|---|---|
hideMessageBubble |
boolean | Blendet die Nachrichten-Bubble aus. | false | true |
showUnreadMessagesDialog |
boolean | Zeigt den Dialog für ungelesene Nachrichten an. | true | false |
position |
string | Position des Widgets. | 'right' |
'left' |
locale |
string | Standardsprachcode. | Sprache des Dashboards | 'zh-CN' |
useBrowserLanguage |
boolean | Verwendet die Browsersprache (ignoriert locale). |
false | true |
type |
string | Widget-Typ. | 'standard' |
'expanded_bubble' |
darkMode |
boolean | Aktiviert den Dunkelmodus. | false | true |
baseDomain |
string | Basisdomain (optional, für mehrere Domains). | - | 'example.com' |
launcherTitle |
string | Titel des Launchers. | - | 'Support' |
showPopoutButton |
boolean | Zeigt die Pop-out-Schaltfläche an. | true | false |
welcomeTitle |
string | Titel der Begrüßung. | - | 'Welcome!' |
welcomeDescription |
string | Beschreibung der Begrüßung. | - | 'How can we help you?' |
availableMessage |
string | Onlinenachricht. | - | 'We are online.' |
unavailableMessage |
string | Offlinenachricht. | - | 'We will reply later.' |
enableFileUpload |
boolean | Aktiviert den Dateiupload. | true | false |
enableEmojiPicker |
boolean | Aktiviert die Emoji-Auswahl. | true | false |
enableEndConversation |
boolean | Aktiviert die Schaltfläche zum Beenden der Konversation. | true | false |
Beispielcode
<script>
// 1. Vor dem Laden von sdk.js zuerst die globale Konfiguration festlegen (muss am Anfang des Skripts platziert werden)
window.livedeskSettings = {
// Widget-Position: unten links (Standard ist unten rechts)
position: "left",
// Sprache auf Vereinfachtes Chinesisch erzwingen (es wird Chinesisch angezeigt, auch wenn der Browser auf Englisch eingestellt ist)
locale: "zh-CN",
// Browsersprache automatisch erkennen (wenn Sie die Browsersprache des Benutzers priorisieren möchten, auf true setzen und locale oben entfernen)
// useBrowserLanguage: true,
// Widget-Typ: expanded_bubble = große Bubble (mit Begrüßungsnachricht), standard = klassische kleine Bubble
type: "expanded_bubble",
// Dunkelmodus (automatisch dem System folgen oder Dunkelmodus erzwingen)
darkMode: "auto", // Optionale Werte: true | false | "auto"
// Das kleine Bubble-Symbol unten ausblenden (geeignet für die Platzierung in einer benutzerdefinierten Schaltfläche)
hideMessageBubble: false,
// Die Pfeilschaltfläche für das "Pop-out-Fenster" in der unteren rechten Ecke ausblenden
showPopoutButton: false,
// Benutzerdefinierter Launcher-Titel (wird im großen Bubble-Modus angezeigt)
launcherTitle: "Online-Support",
// Begrüßungsnachricht (wirksam im Modus expanded_bubble)
welcomeTitle: "Hallo! Wie können wir Ihnen helfen?",
welcomeDescription: "Wir antworten in der Regel innerhalb weniger Minuten.",
// Hinweistext, der bei online/offline angezeigt wird
availableMessage: "Wir sind online und jederzeit bereit, Ihnen zu helfen",
unavailableMessage: "Wir sind derzeit offline und antworten so schnell wie möglich während der Geschäftszeiten",
// Funktionsschalter
enableFileUpload: true, // Dateiuploads erlauben
enableEmojiPicker: true, // Nutzung von Emojis erlauben
enableEndConversation: true, // Benutzern erlauben, die Konversation eigenständig zu beenden
// Weitere erweiterte Optionen (bei Bedarf aktivieren)
// showUnreadMessagesDialog: true, // Pop-up-Erinnerung bei ungelesenen Nachrichten (Standard: true)
// baseDomain: "yourcompany.com", // Wird für Multi-Domain-Bereitstellungen verwendet
};
</script>
<!-- 2. Das LiveDesk Widget-SDK laden (durch Ihre eigene Domain und Ihr eigenes Token ersetzen) -->
<script>
(function(d,t) {
var BASE_URL="https://www.engagelab.com"; // ← Durch Ihre LiveDesk-Adresse ersetzen
var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
g.src=BASE_URL+"/packs/js/sdk.js";
g.defer = true;
g.async = true;
s.parentNode.insertBefore(g,s);
g.onload=function(){
window.livedeskSDK.run({
websiteToken: 'abcdefgh1234567890abcdefgh123456', // ← Durch Ihr Website-Token ersetzen
baseUrl: BASE_URL
});
}
})(document,"script");
</script>
LiveDesk Widget-Event-Listener
| Event Name | Description | Listener Example |
|---|---|---|
livedesk:ready |
Wird ausgelöst, wenn das SDK vollständig geladen ist und Methoden sicher aufgerufen werden können. | window.addEventListener('livedesk:ready', () => { /* Initialisierung */ }); |
livedesk:on-message |
Wird ausgelöst, wenn eine neue Nachricht empfangen wird. | window.addEventListener('livedesk:on-message', (data) => { console.log(data); }); |
livedesk:error |
Wird ausgelöst, wenn ein SDK-Fehler auftritt (v2.3.0+). | window.addEventListener('livedesk:error', (error) => { console.error(error); }); |










