Website高級用法指南

website通道支援基於LiveDesk Widget SDK 介面進行更多配置,滿足用戶需求。

LiveDesk Widget SDK介面

設置 Userid 及用戶資訊(普通模式)

window.addEventListener("livedesk:ready", function () { window.$livedesk.setUser("用戶唯一ID(如 user_id)", { // 第一個參數為唯一識別碼 email: "user@example.com", name: "用戶姓名", avatar_url: "https://example.com/avatar.jpg", // 可選 phone_number: "+1234567890" // 可選 }); });
              
              window.addEventListener("livedesk:ready", function () {
  window.$livedesk.setUser("用戶唯一ID(如 user_id)", {  // 第一個參數為唯一識別碼
    email: "user@example.com",
    name: "用戶姓名",
    avatar_url: "https://example.com/avatar.jpg",  // 可選
    phone_number: "+1234567890"  // 可選
  });
});

            
此代碼塊在浮窗中顯示

設置 Userid 及用戶資訊(加密模式)

啟用身份驗證(推薦):為防止偽造和確保會話跨瀏覽器持久化,在配置中啟用 HMAC(使用 SHA256 生成 identifier_hash)。示例(JavaScript):

const crypto = require('crypto'); const key = '你的 HMAC Token'; // 從 Inboxes 設置複製 const message = '用戶唯一ID'; const identifier_hash = crypto.createHmac('sha256', key).update(message).digest('hex'); // 在 setUser 中附加 window.$livedesk.setUser("用戶唯一ID", { ...其他資訊, identifier_hash: identifier_hash });
              
              const crypto = require('crypto');
const key = '你的 HMAC Token';  // 從 Inboxes 設置複製
const message = '用戶唯一ID';
const identifier_hash = crypto.createHmac('sha256', key).update(message).digest('hex');

// 在 setUser 中附加
window.$livedesk.setUser("用戶唯一ID", {
  ...其他資訊,
  identifier_hash: identifier_hash
});

            
此代碼塊在浮窗中顯示

設置「對話自定義變數」

window.$livedesk.setConversationCustomAttributes({ utm_source: "google", // 示例:會話級 UTM session_type: "support" });
              
              window.$livedesk.setConversationCustomAttributes({
  utm_source: "google",  // 示例:會話級 UTM
  session_type: "support"
});

            
此代碼塊在浮窗中顯示
  • 這些自定義變數在 livdesk - Conversation - 對話資訊中顯示。

設置「用戶自定義變數」

window.addEventListener("livedesk:ready", function () { window.$livedesk.setCustomAttributes({ pricing_plan: "premium", // key: 預定義的唯一標識,value: 根據類型設置(如字串) signup_date: new Date(), // 示例:日期類型 account_id: 123 // 示例:數字類型 }); });
              
              window.addEventListener("livedesk:ready", function () {
  window.$livedesk.setCustomAttributes({
    pricing_plan: "premium",  // key: 預定義的唯一標識,value: 根據類型設置(如字串)
    signup_date: new Date(),  // 示例:日期類型
    account_id: 123           // 示例:數字類型
  });
});

            
此代碼塊在浮窗中顯示
  • 這些自定義變數在「 livdesk - Conversation - 聯絡人屬性」中顯示。

刪除用戶屬性

刪除指定的自定義屬性。

window.$livedesk.deleteCustomAttribute("pricing_plan");//string屬性鍵名
              
              window.$livedesk.deleteCustomAttribute("pricing_plan");//string屬性鍵名

            
此代碼塊在浮窗中顯示

切換聊天氣泡的打開狀態

切換小工具的打開/關閉狀態。

window.$livdesk.toggle(); // Toggle widget by passing state window.$livedesk.toggle("open"); // 打開聊天部件 window.$livedesk.toggle("close"); // 關閉聊天部件
              
              window.$livdesk.toggle();

// Toggle widget by passing state
window.$livedesk.toggle("open"); // 打開聊天部件
window.$livedesk.toggle("close"); // 關閉聊天部件

            
此代碼塊在浮窗中顯示

顯示/隱藏聊天氣泡

window.$livedesk.toggleBubbleVisibility('hide');// show/hide
              
              window.$livedesk.toggleBubbleVisibility('hide');// show/hide

            
此代碼塊在浮窗中顯示

彈窗模式

以彈出視窗模式打開聊天介面。

window.$livedesk.popoutChatWindow();
              
              window.$livedesk.popoutChatWindow();

            
此代碼塊在浮窗中顯示

設置語言

設置小工具語言

window.$livedesk.setLocale("en");// string語言代碼,示例:zh-CN
              
              window.$livedesk.setLocale("en");// string語言代碼,示例:zh-CN

            
此代碼塊在浮窗中顯示

添加/移除標籤

為當前會話添加標籤(對話未開始前),標籤將自動設置到對話中

window.$livdesk.setLabel('support-ticket');// string標籤識別碼 window.$livdesk.removeLabel('support-ticket');
              
              window.$livdesk.setLabel('support-ticket');// string標籤識別碼
window.$livdesk.removeLabel('support-ticket');

            
此代碼塊在浮窗中顯示

Livedesk Widget 配置對象

初始化時(載入 SDK 前)設置的全域對象,用於自定義小工具行為。通過 window.livedeskSettings 定義,然後在 window.livedeskSDK.run() 中傳遞。

對象屬性

屬性名稱 類型 描述 預設值 示例
hideMessageBubble boolean 隱藏訊息氣泡。 false true
showUnreadMessagesDialog boolean 顯示未讀訊息對話方塊。 true false
position string 小工具位置。 'right' 'left'
locale string 預設語言代碼。 儀表板語言 'zh-CN'
useBrowserLanguage boolean 使用瀏覽器語言(忽略 locale)。 false true
type string 小工具類型。 'standard' 'expanded_bubble'
darkMode boolean 啟用暗黑模式。 false true
baseDomain string 基礎域名(可選,用於多域名)。 - 'example.com'
launcherTitle string 啟動器標題。 - '支援'
showPopoutButton boolean 顯示彈出按鈕。 true false
welcomeTitle string 歡迎標題。 - '歡迎!'
welcomeDescription string 歡迎描述。 - '如何幫助您?'
availableMessage string 線上訊息。 - '我們線上。'
unavailableMessage string 離線訊息。 - '我們稍後回復。'
enableFileUpload boolean 啟用檔上傳。 true false
enableEmojiPicker boolean 啟用表情選擇器。 true false
enableEndConversation boolean 啟用結束對話按鈕。 true false

示例代碼

<script> // 1. 在載入 sdk.js 之前,先設置全域配置(必須放在腳本最前面) window.livedeskSettings = { // 小工具位置:左下角(預設是右下角) position: "left", // 語言強制為簡體中文(即使瀏覽器是英文也會顯示中文) locale: "zh-CN", // 自動檢測瀏覽器語言(如果想優先用用戶瀏覽器語言,設為 true 並刪除上面的 locale) // useBrowserLanguage: true, // 小工具類型:expanded_bubble = 大氣泡(帶歡迎語),standard = 經典小氣泡 type: "expanded_bubble", // 暗黑模式(自動跟隨系統或強制暗色) darkMode: "auto", // 可選值:true | false | "auto" // 隱藏底部的小氣泡圖示(適合放在自定義按鈕裡) hideMessageBubble: false, // 隱藏右下角的“彈出視窗”小箭頭按鈕 showPopoutButton: false, // 自定義啟動器標題(大氣泡模式下顯示) launcherTitle: "線上客服", // 歡迎訊息(expanded_bubble 模式下生效) welcomeTitle: "您好!有什麼可以幫助您的?", welcomeDescription: "我們通常會在幾分鐘內回復~", // 線上/離線時顯示的提示文字 availableMessage: "我們線上,隨時為您服務", unavailableMessage: "我們當前不在線,會在上班時間儘快回復您", // 功能開關 enableFileUpload: true, // 允許上傳檔案 enableEmojiPicker: true, // 允許使用表情 enableEndConversation: true, // 允許用戶主動結束對話 // 其他高級選項(視需求打開) // showUnreadMessagesDialog: true, // 有未讀訊息時彈窗提醒(預設 true) // baseDomain: "yourcompany.com", // 多域名部署時使用 }; </script> <!-- 2. 載入 livedesk Widget SDK(替換成你自己的域名和 token)--> <script> (function(d,t) { var BASE_URL="https://www.engagelab.com"; // ← 改成你的 livedesk 地址 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', // ← 改成你的 Website Token baseUrl: BASE_URL }); } })(document,"script"); </script>
              
              <script>
// 1. 在載入 sdk.js 之前,先設置全域配置(必須放在腳本最前面)
window.livedeskSettings = {
  // 小工具位置:左下角(預設是右下角)
  position: "left",

  // 語言強制為簡體中文(即使瀏覽器是英文也會顯示中文)
  locale: "zh-CN",

  // 自動檢測瀏覽器語言(如果想優先用用戶瀏覽器語言,設為 true 並刪除上面的 locale)
  // useBrowserLanguage: true,

  // 小工具類型:expanded_bubble = 大氣泡(帶歡迎語),standard = 經典小氣泡
  type: "expanded_bubble",

  // 暗黑模式(自動跟隨系統或強制暗色)
  darkMode: "auto",        // 可選值:true | false | "auto"

  // 隱藏底部的小氣泡圖示(適合放在自定義按鈕裡)
  hideMessageBubble: false,

  // 隱藏右下角的“彈出視窗”小箭頭按鈕
  showPopoutButton: false,

  // 自定義啟動器標題(大氣泡模式下顯示)
  launcherTitle: "線上客服",

  // 歡迎訊息(expanded_bubble 模式下生效)
  welcomeTitle: "您好!有什麼可以幫助您的?",
  welcomeDescription: "我們通常會在幾分鐘內回復~",

  // 線上/離線時顯示的提示文字
  availableMessage: "我們線上,隨時為您服務",
  unavailableMessage: "我們當前不在線,會在上班時間儘快回復您",

  // 功能開關
  enableFileUpload: true,       // 允許上傳檔案
  enableEmojiPicker: true,      // 允許使用表情
  enableEndConversation: true,  // 允許用戶主動結束對話

  // 其他高級選項(視需求打開)
  // showUnreadMessagesDialog: true,   // 有未讀訊息時彈窗提醒(預設 true)
  // baseDomain: "yourcompany.com",    // 多域名部署時使用
};

</script>

<!-- 2. 載入 livedesk Widget SDK(替換成你自己的域名和 token)-->
<script>
  (function(d,t) {
    var BASE_URL="https://www.engagelab.com";          // ← 改成你的 livedesk 地址
    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',  // ← 改成你的 Website Token
        baseUrl: BASE_URL
      });
    }
  })(document,"script");
</script>

            
此代碼塊在浮窗中顯示

Livedesk Widget 事件監聽

事件名稱 描述 監聽示例
livedesk:ready SDK 完全載入完成,可安全調用方法。 window.addEventListener('livedesk:ready', () => { /* 初始化 */ });
livedesk:on-message 收到新訊息時觸發。 window.addEventListener('livedesk:on-message', (data) => { console.log(data); });
livedesk:error SDK 發生錯誤時觸發(v2.3.0+)。 window.addEventListener('livedesk:error', (error) => { console.error(error); });
icon
聯繫銷售