พัฒนาWidgets
Launcher
ฝังตารางแอปที่ติดตั้งบนแพลตฟอร์ม ให้ผู้ใช้เปิดแอปอื่นจากหน้าของคุณ และตั้งว่าจะเปิดด้วยลิงก์หรือรับข้อความไปเปิดเอง
widget app แสดงตารางของแอปที่แพลตฟอร์มติดตั้ง อ่านจากรายการแอปของแพลตฟอร์ม แอปหลักขึ้นก่อน แล้วเรียงตามลำดับที่แพลตฟอร์มตั้ง
URL และพารามิเตอร์
พารามิเตอร์ที่ขึ้นต้นด้วย _ เหมือนกันทุก widget ดู Widgets
| พารามิเตอร์ | ความหมาย | จำเป็น |
|---|---|---|
use_href | true ให้แต่ละแอปเป็นลิงก์ไปที่ URL ของแอป false ให้เป็นปุ่มเฉย ๆ ไม่ใส่ เท่ากับ true | ไม่ |
target | target ของลิงก์ ไม่ใส่ เท่ากับ _blank ใช้เมื่อ use_href เป็น true | ไม่ |
disabled_app | id ของแอปที่แสดงแต่กดไม่ได้ คั่นด้วยจุลภาค | ไม่ |
hidden_app | id ของแอปที่ไม่แสดง คั่นด้วยจุลภาค | ไม่ |
id ของแอปมาจาก /platform เช่น drive และ map-studio แอปที่แพลตฟอร์มติดตั้งเองมี id ของตัวเอง
ข้อความ
widget นี้ไม่ส่ง ready และไม่รับ post-widget-parameters ข้อความทั่วไปที่เหลือดู Widgets
| action | ทิศทาง | payload |
|---|---|---|
open-app | widget ถึงหน้าของคุณ | { appId, url } ผู้ใช้กดแอป url คือ URL ของแอปนั้น |
widget ส่ง open-app ทุกครั้งที่ผู้ใช้กดแอปที่ไม่ถูกปิด แม้ use_href เป็น true และเบราว์เซอร์เปิดลิงก์อยู่แล้ว
ถ้าต้องการเปิดแอปเอง
ตั้ง use_href=false แล้วเปิด payload.url ในหน้าของคุณ เช่น เปลี่ยนหน้าหรือเปิดแท็บใหม่
ตัวอย่าง
const messageToken = crypto.randomUUID()
const params = new URLSearchParams({
_credential_type: 'bearer-token',
_token: token,
_origin: location.origin,
_message_token: messageToken,
_locale: 'th',
use_href: 'false',
hidden_app: 'configuration',
})
frame.src = `${site}/widgets/app?${params}`
addEventListener('message', (e) => {
if (e.origin !== site || e.data.messageToken !== messageToken) return
if (e.data.action === 'open-app') location.href = e.data.payload.url
})