หน้านี้อธิบายวิธีสร้างหน้าแรกสำหรับข้อความส่วนตัวด้วยแอป Google Chat ของคุณ หน้าแรกซึ่งเรียกว่าหน้าแรกของแอปใน Google Chat API คืออินเทอร์เฟซการ์ดที่ปรับแต่งได้ซึ่งจะปรากฏในแท็บหน้าแรกของพื้นที่ข้อความส่วนตัวระหว่างผู้ใช้กับแอป Chat หากคุณสร้างแอป Chat เป็นส่วนเสริมของ Google Workspace โปรดดูกำหนดค่าหน้าแรกสำหรับ Chat
คุณสามารถใช้หน้าแรกของแอปเพื่อแชร์เคล็ดลับในการโต้ตอบกับแอป Chat หรืออนุญาตให้ผู้ใช้เข้าถึงและใช้บริการหรือเครื่องมือภายนอกจาก Chat ได้
ใช้เครื่องมือสร้างการ์ดเพื่อออกแบบและแสดงตัวอย่างการรับส่งข้อความและอินเทอร์เฟซผู้ใช้สำหรับแอป Chat โดยทำดังนี้
เปิดเครื่องมือสร้างการ์ดข้อกำหนดเบื้องต้น
Node.js
แอป Google Chat ที่รับและตอบกลับเหตุการณ์การโต้ตอบ หากต้องการสร้างแอป Chat แบบอินเทอร์แอกทีฟโดยใช้บริการ HTTP ให้ทำตามคู่มือเริ่มต้นฉบับย่อนี้
Python
แอป Google Chat ที่รับและตอบกลับเหตุการณ์การโต้ตอบ หากต้องการสร้างแอป Chat แบบอินเทอร์แอกทีฟโดยใช้บริการ HTTP ให้ทำตามคู่มือเริ่มต้นฉบับย่อนี้
Java
แอป Google Chat ที่รับและตอบกลับเหตุการณ์การโต้ตอบ หากต้องการสร้างแอป Chat แบบอินเทอร์แอกทีฟโดยใช้บริการ HTTP ให้ทำตามคู่มือเริ่มต้นฉบับย่อนี้
Apps Script
แอป Google Chat ที่รับและตอบกลับเหตุการณ์การโต้ตอบ หากต้องการสร้าง แอป Chat แบบอินเทอร์แอกทีฟใน Apps Script ให้ทำตามการเริ่มต้นใช้งานฉบับย่อนี้
กำหนดค่าหน้าแรกของแอปสำหรับแอป Chat
หากต้องการรองรับหน้าแรกของแอป คุณต้องกำหนดค่าแอป Chat
ให้รับAPP_HOMEเหตุการณ์การโต้ตอบ
แอป Chat จะได้รับเหตุการณ์นี้ทุกครั้งที่ผู้ใช้คลิกแท็บหน้าแรกจากข้อความส่วนตัวที่มีแอป Chat
หากต้องการอัปเดตการตั้งค่าการกำหนดค่าในคอนโซล Google Cloud ให้ทำดังนี้
- ในคอนโซล Google Cloud ให้คลิกเมนู > API และบริการ > API และบริการที่เปิดใช้ > Google Chat API > การกำหนดค่า ไปที่การกำหนดค่า Chat API
- ในส่วนฟีเจอร์แบบอินเทอร์แอกทีฟ ให้ไปที่ส่วนฟังก์ชันการทำงาน แล้วเลือกรองรับหน้าแรกของแอป
- หากแอป Chat ใช้บริการ HTTP ให้ไปที่การตั้งค่าการเชื่อมต่อและระบุปลายทางสำหรับช่องURL หน้าแรกของแอป คุณสามารถใช้ URL เดียวกันกับที่ระบุในช่องURL ของปลายทาง HTTP ได้
- คลิกบันทึก
สร้างการ์ดหน้าแรกของแอป
เมื่อผู้ใช้เปิดหน้าแรกของแอป แอป Chat ของคุณต้องจัดการ
APP_HOME เหตุการณ์การโต้ตอบโดยการแสดงผลอินสแตนซ์ของ
RenderActions
พร้อมpushCard การนำทางและ
Card หากต้องการสร้างประสบการณ์การใช้งานแบบอินเทอร์แอกทีฟ การ์ดอาจมีวิดเจ็ตแบบอินเทอร์แอกทีฟ เช่น ปุ่มหรือช่องป้อนข้อความที่แอป Chat สามารถประมวลผลและตอบกลับด้วยการ์ดเพิ่มเติมหรือกล่องโต้ตอบ
ในตัวอย่างต่อไปนี้ แอป Chat จะแสดง การ์ดหน้าแรกของแอปเริ่มต้นซึ่งแสดงเวลาที่สร้างการ์ดและ ปุ่ม เมื่อผู้ใช้คลิกปุ่ม แอปแชทจะแสดงการ์ดที่อัปเดตแล้วซึ่งแสดงเวลาที่สร้างการ์ดที่อัปเดต
Node.js
Python
Java
Apps Script
ใช้ฟังก์ชัน onAppHome ที่เรียกใช้หลังจากเหตุการณ์การโต้ตอบ APP_HOME
ทั้งหมด
ตัวอย่างนี้จะส่งข้อความการ์ดโดยการส่งคืน JSON ของการ์ด คุณยังใช้บริการการ์ด Apps Script ได้ด้วย
ตอบสนองต่อการโต้ตอบในหน้าแรกของแอป
หากการ์ดหน้าแรกของแอปเริ่มต้นมีวิดเจ็ตแบบอินเทอร์แอกทีฟ เช่น ปุ่ม
หรืออินพุตการเลือก แอป Chat ของคุณต้องจัดการ
เหตุการณ์การโต้ตอบที่เกี่ยวข้องโดยการแสดงอินสแตนซ์ของ
RenderActions
พร้อมการนำทาง updateCard ดูข้อมูลเพิ่มเติมเกี่ยวกับการจัดการวิดเจ็ตแบบอินเทอร์แอกทีฟได้ที่ประมวลผลข้อมูลที่ผู้ใช้ป้อน
ในตัวอย่างก่อนหน้า การ์ดหน้าแรกของแอปเริ่มต้นมีปุ่ม เมื่อใดก็ตามที่ผู้ใช้คลิกปุ่ม CARD_CLICKED เหตุการณ์การโต้ตอบ
จะเรียกใช้ฟังก์ชัน updateAppHome เพื่อรีเฟรชการ์ดหน้าแรกของแอป ดังที่แสดง
ในโค้ดต่อไปนี้
Node.js
Python
Java
Apps Script
ตัวอย่างนี้จะส่งข้อความการ์ดโดยการส่งคืน JSON ของการ์ด คุณยังใช้บริการการ์ด Apps Script ได้ด้วย
เปิดกล่องโต้ตอบ
แอป Chat ยังตอบกลับการโต้ตอบ ในหน้าแรกของแอปได้ด้วยการเปิดกล่องโต้ตอบ
หากต้องการเปิดกล่องโต้ตอบจากหน้าแรกของแอป ให้ประมวลผลเหตุการณ์การโต้ตอบที่เกี่ยวข้องโดย
ส่งคืน renderActions พร้อมการนำทาง updateCard ที่มีออบเจ็กต์ Card
ในตัวอย่างต่อไปนี้ แอป Chat จะตอบกลับการคลิกปุ่มจากการ์ดหน้าแรกของแอปโดยการประมวลผลCARD_CLICKED
เหตุการณ์การโต้ตอบและเปิดกล่องโต้ตอบ
{ renderActions: { action: { navigations: [{ updateCard: { sections: [{
header: "Add new contact",
widgets: [{ "textInput": {
label: "Name",
type: "SINGLE_LINE",
name: "contactName"
}}, { textInput: {
label: "Address",
type: "MULTIPLE_LINE",
name: "address"
}}, { decoratedText: {
text: "Add to favorites",
switchControl: {
controlType: "SWITCH",
name: "saveFavorite"
}
}}, { decoratedText: {
text: "Merge with existing contacts",
switchControl: {
controlType: "SWITCH",
name: "mergeContact",
selected: true
}
}}, { buttonList: { buttons: [{
text: "Next",
onClick: { action: { function: "openSequentialDialog" }}
}]}}]
}]}}]}}}
หากต้องการปิดกล่องโต้ตอบ ให้ประมวลผลเหตุการณ์การโต้ตอบต่อไปนี้
CLOSE_DIALOG: ปิดกล่องโต้ตอบและกลับไปที่ การ์ดหน้าแรกของแอป ChatCLOSE_DIALOG_AND_EXECUTE: ปิดกล่องโต้ตอบและรีเฟรชการ์ดหน้าแรกของแอป
ตัวอย่างโค้ดต่อไปนี้ใช้ CLOSE_DIALOG เพื่อปิดกล่องโต้ตอบและกลับไปที่
การ์ดหน้าแรกของแอป
{ renderActions: { action: {
navigations: [{ endNavigation: { action: "CLOSE_DIALOG" }}]
}}}
หากต้องการรวบรวมข้อมูลจากผู้ใช้ คุณยังสร้างกล่องโต้ตอบแบบต่อเนื่องได้ด้วย หากต้องการ ดูวิธีสร้างกล่องโต้ตอบแบบต่อเนื่อง โปรดดูเปิดและตอบกลับกล่องโต้ตอบ
หัวข้อที่เกี่ยวข้อง
- ดูตัวอย่างแอปใน Chat ที่ใช้หน้าแรกของแอป
- เปิดและตอบกลับกล่องโต้ตอบ