Erweiterter Leitfaden: LiveDesk Widget-SDK für Websites
Der Website-Kanal ermöglicht erweiterte Konfigurationsmöglichkeiten über die LiveDesk Widget-SDK-Schnittstelle, um individuelle Nutzerbedürfnisse optimal zu erfüllen. Mit diesem Leitfaden richten Sie Ihr Chat-Widget gezielt ein und passen es flexibel an Ihre Anforderungen an. Die folgenden Anleitungen unterstützen Sie bei der optimalen Nutzung der LiveDesk SDK-Funktionen und bei der effizienten Konfiguration Ihres LiveChat Widgets.
LiveDesk Widget-SDK-Schnittstelle
UserID und Nutzerinformationen setzen (Normalmodus)
window.addEventListener("livedesk:ready", function () {
window.$livedesk.setUserId("Eindeutige User-ID (z. B. user_id)", { // Erster Parameter ist der eindeutige Bezeichner
email: "user@example.com",
name: "Benutzername",
avatar_url: "https://example.com/avatar.jpg", // Optional
phone_number: "+1234567890" // Optional
});
});
UserID und Nutzerinformationen setzen (Verschlüsselter Modus)
Aktivieren Sie die Authentifizierung (empfohlen): So verhindern Sie Fälschungen und stellen die browserübergreifende Sitzungsbeständigkeit sicher. Aktivieren Sie dazu HMAC in der Konfiguration (verwenden Sie SHA256 zur Erstellung von identifier_hash). Beispiel (JavaScript):
const crypto = require('crypto');
const key = 'Ihr HMAC-Token'; // Aus den Postfacheinstellungen kopieren
const message = 'Eindeutige User-ID';
const identifier_hash = crypto.createHmac('sha256', key).update(message).digest('hex');
// Beim setUser anhängen
window.$livedesk.setUserId("Eindeutige User-ID", {
...andere Infos,
identifier_hash: identifier_hash
});
Konversationsspezifische Attribute setzen
window.$livedesk.setConversationCustomAttributes({
utm_source: "google", // Beispiel: UTM auf Sitzungsebene
session_type: "support"
});
- Diese benutzerdefinierten Variablen werden unter Livedesk – Konversation – Konversationsinformationen angezeigt.
Kontaktbezogene Attribute setzen
window.addEventListener("livedesk:ready", function () {
window.$livedesk.setCustomAttributes({
pricing_plan: "premium", // Schlüssel: Vordefinierter eindeutiger Bezeichner, Wert: entsprechend Typ setzen (z. B. String)
signup_date: new Date(), // Beispiel: Datumstyp
account_id: 123 // Beispiel: Zahlentyp
});
});
- Diese benutzerdefinierten Variablen werden unter „Livedesk – Konversation – Kontaktattribute“ angezeigt.
Nutzerattribut löschen
Löscht das angegebene benutzerdefinierte Nutzerattribut.
window.$livedesk.deleteCustomAttribute("pricing_plan"); // Name des Attribut-Schlüssels (String)
Chat-Widget-Status umschalten
Öffnet oder schließt das Chat-Widget.
window.$livedesk.toggle();
// Widget gezielt öffnen/schließen
window.$livedesk.toggle("open"); // Chat-Widget öffnen
window.$livedesk.toggle("close"); // Chat-Widget schließen
Chat-Bubble ein- oder ausblenden
window.$livedesk.toggleBubbleVisibility('hide'); // einblenden/ausblenden
Popout-Modus
Öffnet die Chat-Oberfläche im Popout-Fenster.
window.$livedesk.popoutChatWindow();
Sprache festlegen
Widget-Sprache festlegen
window.$livedesk.setLocale("de"); // Sprachcode als String, Beispiel: zh-CN
Labels hinzufügen/entfernen
Fügt dem aktuellen Gespräch ein Label hinzu (vor Beginn der Konversation); das Label wird automatisch zugeordnet.
window.$livedesk.setLabel('support-ticket'); // String: Label-Bezeichner
window.$livedesk.removeLabel('support-ticket');
LiveDesk Widget-Konfigurationsobjekt
Das globale Konfigurationsobjekt wird während der Initialisierung (vor dem Laden des SDKs) gesetzt, um das Verhalten des Widgets individuell anzupassen. Definieren Sie es über window.livedeskSettings und übergeben Sie es anschließend an window.livedeskSDK.run().
Objekt-Eigenschaften
| Eigenschaftsname | Typ | Erläuterung | Standardwert | Beispiel |
|---|---|---|---|---|
hideMessageBubble |
boolean | Nachrichten-Bubble ausblenden | false | true |
showUnreadMessagesDialog |
boolean | Dialog für ungelesene Nachrichten anzeigen | true | false |
position |
string | Widget-Position | 'right' | 'left' |
locale |
string | Standard-Sprachcode | Dashboard-Sprache | 'zh-CN' |
useBrowserLanguage |
boolean | Browsersprache verwenden (locale ignorieren) |
false | true |
type |
string | Widget-Typ | 'standard' |
'expanded_bubble' |
darkMode |
boolean | Dunkelmodus aktivieren | false | true |
baseDomain |
string | Basis-Domain (optional, für Multi-Domain) | – | 'example.com' |
launcherTitle |
string | Titel des Launchers | – | 'Support' |
showPopoutButton |
boolean | Popout-Button anzeigen | true | false |
welcomeTitle |
string | Titel der Begrüßung | – | 'Willkommen!' |
welcomeDescription |
string | Begrüßungsbeschreibung | – | 'Wie können wir Ihnen helfen?' |
availableMessage |
string | Online-Nachricht | – | 'Wir sind online.' |
unavailableMessage |
string | Offline-Nachricht | – | 'Wir antworten später.' |
enableFileUpload |
boolean | Dateiupload aktivieren | true | false |
enableEmojiPicker |
boolean | Emoji-Auswahl aktivieren | true | false |
enableEndConversation |
boolean | Schaltfläche „Konversation beenden“ aktivieren | true | false |
Beispielcode
<script>
// 1. Globale Konfiguration vor dem Laden von sdk.js setzen (muss am Anfang des Skripts stehen)
window.livedeskSettings = {
// Widget-Position: unten links (Standard ist unten rechts)
position: "left",
// Sprache auf vereinfachtes Chinesisch festlegen (zeigt Chinesisch auch bei englischem Browser)
locale: "zh-CN",
// Automatische Erkennung der Browsersprache (bei Priorisierung der Nutzersprache auf true setzen und locale entfernen)
// useBrowserLanguage: true,
// Widget-Typ: expanded_bubble = große Bubble (mit Begrüßung), standard = klassische kleine Bubble
type: "expanded_bubble",
// Dunkelmodus (automatisch nach System oder erzwingen)
darkMode: "auto", // Mögliche Werte: true | false | "auto"
// Kleines Bubble-Icon unten ausblenden (geeignet für eigene Buttons)
hideMessageBubble: false,
// „Popout-Fenster“-Pfeil unten rechts ausblenden
showPopoutButton: false,
// Benutzerdefinierter Launcher-Titel (wird im expanded_bubble-Modus angezeigt)
launcherTitle: "Online-Support",
// Begrüßung (nur im expanded_bubble-Modus wirksam)
welcomeTitle: "Hallo! Wie können wir Ihnen helfen?",
welcomeDescription: "Wir antworten in der Regel innerhalb weniger Minuten~",
// Hinweistext bei Online-/Offline-Status
availableMessage: "Wir sind online und für Sie da",
unavailableMessage: "Wir sind aktuell offline und melden uns schnellstmöglich während der Geschäftszeiten",
// Funktionsschalter
enableFileUpload: true, // Dateiupload erlauben
enableEmojiPicker: true, // Emojis erlauben
enableEndConversation: true, // Nutzer können Konversation aktiv beenden
// Weitere Optionen (bei Bedarf aktivieren)
// showUnreadMessagesDialog: true, // Pop-up bei ungelesenen Nachrichten (Standard: true)
// baseDomain: "yourcompany.com", // Für Multi-Domain-Einsatz
};
</script>
<!-- 2. LiveDesk Widget SDK laden (eigene Domain und Token eintragen) -->
<script>
(function(d,t) {
var BASE_URL="https://www.engagelab.com"; // ← Eigene LiveDesk-Adresse eintragen
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', // ← Eigenen Website-Token einfügen
baseUrl: BASE_URL
});
}
})(document,"script");
</script>
LiveDesk Widget Event-Listener
| Event-Name | Beschreibung | Beispiel für einen Event-Listener |
|---|---|---|
livedesk:ready |
Das SDK ist vollständig geladen; Methoden können jetzt sicher aufgerufen werden. | window.addEventListener('livedesk:ready', () => { /* Initialisierung */ }); |
livedesk:on-message |
Wird ausgelöst, sobald eine neue Nachricht eingeht. | window.addEventListener('livedesk:on-message', (data) => { console.log(data); }); |
livedesk:error |
Wird bei einem SDK-Fehler ausgelöst (ab Version 2.3.0). | window.addEventListener('livedesk:error', (error) => { console.error(error); }); |
Mit dieser Anleitung konfigurieren Sie Ihr Chat-Widget effizient und individuell – für optimale Nutzererlebnisse und maximale Kontrolle über Ihre LiveChat-Kommunikation.
Weitere Informationen:
LiveDesk SDK Dokumentation
Jetzt Demo buchen

