ไลบรารี JavaScript ของวิดเจ็ต Business เริ่มต้นทํางานแบบเป็นโปรแกรมและเปิดใช้การติดตามการมีส่วนร่วมสําหรับวิดเจ็ต Business Messages
ฟังก์ชันและพร็อพเพอร์ตี้
ฟังก์ชันและพร็อพเพอร์ตี้ช่วยให้ควบคุมองค์ประกอบเริ่มต้นได้อย่างละเอียด
เริ่ม
เริ่มต้นองค์ประกอบ HTML แบบไดนามิกเพื่อใช้เป็นวิดเจ็ต Business Messages ฟังก์ชันจะแสดงผลตามที่สัญญาไว้ซึ่งแก้ไขเมื่อเริ่มต้นเสร็จสมบูรณ์
window.bmwidget.init(HTMLElement, {agentId, context}):Promise
HTMLElement
เป็นองค์ประกอบที่จะเริ่มต้นเป็นวิดเจ็ต{agentId, context}
คือค่าสําหรับแอตทริบิวต์ HTMLdata-bm-widget-agent-id
และdata-bm-widget-context
สแกน
สแกนเอกสารเพื่อหาองค์ประกอบ HTML ที่มีแอตทริบิวต์ data-bm-widget-agent-id
และแปลงองค์ประกอบเหล่านั้นเป็นวิดเจ็ต Business Messages ระบบจะเรียกใช้ window.bmwidget.scan()
โดยอัตโนมัติเมื่อโหลดหน้าเว็บและระหว่างการเริ่มต้นสคริปต์
window.bmwidget.scan():void
รองรับ
ค่าสถานะบูลีนแบบอ่านอย่างเดียวเป็นจริงหากอุปกรณ์ของผู้ใช้รองรับ Business Messages
window.bmwidget.supported:boolean
กิจกรรม
ไลบรารีจะเรียกเหตุการณ์ในองค์ประกอบ HTML ที่เริ่มต้นเป็นวิดเจ็ต Business Messages
เชื่อมโยงความสําเร็จ
เหตุการณ์ bm-widget-bind-success
จะทริกเกอร์เมื่อเชื่อมโยงองค์ประกอบ HTML เป็นวิดเจ็ต Business Messages สําเร็จและพร้อมใช้งานแล้ว
domNode.addEventListener('bm-widget-bind-success', (event) => {
console.log(event.data);
});
เชื่อมโยงไม่สําเร็จ
เหตุการณ์ bm-widget-bind-fail
จะทริกเกอร์เมื่อพยายามเชื่อมโยงกับองค์ประกอบ HTML ไม่สําเร็จ กรณีนี้อาจเกิดขึ้นเนื่องจากตรวจสอบ URL ไม่สําเร็จหรือดาวน์โหลดองค์ประกอบ HTML ไม่สําเร็จ ไม่สามารถตรวจสอบความถูกต้องได้หาก URL ยังไม่ได้ลงทะเบียนเป็นจุดแรกเข้าของวิดเจ็ต Business Messages หรืออุปกรณ์ของผู้ใช้ไม่รองรับ
พร็อพเพอร์ตี้ event.data
แสดงรายละเอียดสาเหตุของความล้มเหลว
domNode.addEventListener('bm-widget-bind-fail', (event) => {
console.log(event.data);
});
ทริกเกอร์ Intent
เหตุการณ์ bm-widget-intent-trigger
จะทริกเกอร์เมื่อผู้ใช้แตะจุดเข้าถึงวิดเจ็ต Business Messages เริ่มต้น กิจกรรมนี้จะส่งสัญญาณด้วยการแตะ แต่ไม่ได้ระบุว่าแพลตฟอร์มการสนทนาของ Business Messages เริ่มต้นสําเร็จหรือไม่
domNode.addEventListener('bm-widget-intent-trigger', (event) => {
console.log(event.data);
});