หน้านี้จะอธิบายวิธีสร้างคอมโพเนนต์และโครงสร้างของการ์ด การ์ดคืออินเทอร์เฟซผู้ใช้ที่แอป Google Chat สามารถใช้เพื่อแสดงและรวบรวมข้อมูลจากผู้ใช้ Chat แอปแชทสามารถสร้างและแสดงการ์ดในอินเทอร์เฟซต่อไปนี้
- ข้อความที่มีการ์ดอย่างน้อย 1 รายการ
- หน้าแรก ซึ่งเป็นการ์ดที่ปรากฏจากแท็บหน้าแรกในข้อความส่วนตัวกับแอป Chat
- กล่องโต้ตอบ ซึ่งเป็นการ์ดที่เปิดขึ้นในหน้าต่างใหม่จากข้อความและหน้าแรก
ในหน้านี้ คุณจะได้เรียนรู้เกี่ยวกับองค์ประกอบต่อไปนี้ของการ์ด
- ส่วนหัว ซึ่งมักจะมีชื่อของการ์ดหรือส่วนการ์ด
- ส่วน ซึ่งประกอบกันเป็นเนื้อหาหลักของการ์ด รวมถึงวิดเจ็ตและองค์ประกอบแบบอินเทอร์แอกทีฟอื่นๆ ในส่วนการ์ด คุณสามารถเพิ่มโครงสร้างอื่นๆ ลงในการ์ดได้ ซึ่งรวมถึงคอลัมน์และตารางกริด
- ส่วนท้ายแบบคงที่ ซึ่งปรากฏที่ด้านล่างของกล่องโต้ตอบเพื่อแสดงองค์ประกอบ UI ถาวร เช่น ปุ่ม
ข้อกำหนดเบื้องต้น
แอป Google Chat ที่เปิดใช้ฟีเจอร์แบบอินเทอร์แอกทีฟ หากต้องการสร้างแอป Chat แบบอินเทอร์แอกทีฟ ให้ทําตามการเริ่มต้นใช้งานด่วนอย่างใดอย่างหนึ่งต่อไปนี้ตามสถาปัตยกรรมแอปที่คุณต้องการใช้
- บริการ HTTP ด้วย Google Cloud Functions
- Google Apps Script
- Google Cloud Dialogflow CX
- Google Cloud Pub/Sub
ใช้เครื่องมือสร้างการ์ดเพื่อออกแบบและแสดงตัวอย่างการรับส่งข้อความและอินเทอร์เฟซผู้ใช้สำหรับแอป Chat โดยทำดังนี้
เปิดเครื่องมือสร้างการ์ดเพิ่มส่วนหัว
วิดเจ็ต CardHeader
แสดงส่วนหัวของการ์ด ส่วนหัวอาจมีชื่อ คำบรรยาย และรูปโปรไฟล์สำหรับการ์ด
ต่อไปนี้เป็นตัวอย่างของ CardHeader
เพิ่มส่วนการ์ดอย่างน้อย 1 ส่วน
วิดเจ็ต CardSection
เป็นคอนเทนเนอร์ระดับสูงภายในการ์ด คุณใช้ส่วนในการ์ดเพื่อจัดกลุ่มวิดเจ็ตภายในการ์ด ในส่วนการ์ดแต่ละส่วน คุณสามารถใส่ส่วนหัวและวิดเจ็ตอย่างน้อย 1 รายการ
ต่อไปนี้เป็นตัวอย่าง CardSection
ที่มีวิดเจ็ต textParagraph
2 รายการ
เพิ่มตัวแบ่งแนวนอนระหว่างวิดเจ็ต
วิดเจ็ต divider
จะแสดงเส้นแนวนอนที่ครอบคลุมความกว้างของการ์ดระหว่างวิดเจ็ตที่ซ้อนกันแนวตั้ง เส้นเป็นตัวแบ่งภาพที่ช่วยผู้ใช้แยกความแตกต่างระหว่างวิดเจ็ตแต่ละรายการ ทำให้การ์ดอ่านและทำความเข้าใจได้ง่ายขึ้น
การ์ดต่อไปนี้ประกอบด้วยวิดเจ็ต divider
ระหว่างวิดเจ็ตประเภทอื่นๆ
เพิ่มคอลัมน์
วิดเจ็ตcolumns
จะแสดงได้สูงสุด 2 คอลัมน์ในการ์ด คุณสามารถเพิ่มวิดเจ็ตลงในคอลัมน์แต่ละคอลัมน์ได้ โดยวิดเจ็ตจะปรากฏตามลำดับที่ระบุ
หากต้องการรวมคอลัมน์มากกว่า 2 คอลัมน์หรือใช้แถว ให้ใช้วิดเจ็ต grid
ความสูงของแต่ละคอลัมน์จะกำหนดโดยคอลัมน์ที่สูงกว่า เช่น หากคอลัมน์แรกสูงกว่าคอลัมน์ที่ 2 คอลัมน์ทั้ง 2 คอลัมน์จะมีความสูงเท่ากับคอลัมน์แรก เนื่องจากแต่ละคอลัมน์อาจมีวิดเจ็ตจํานวนต่างกัน คุณจึงไม่สามารถกําหนดแถวหรือจัดแนววิดเจ็ตระหว่างคอลัมน์
ตัวอย่างต่อไปนี้แสดงการ์ดที่มีวิดเจ็ต columns
ที่มีข้อความ 2 คอลัมน์ หากต้องการดูเฉพาะเลย์เอาต์คอลัมน์และยุบตัวอย่างโค้ด ให้คลิก ยุบ
เมื่อพื้นที่มีจำกัด เช่น ในตัวอย่างต่อไปนี้ คอลัมน์ที่ 2 จะตัดขึ้นบรรทัดใหม่ใต้คอลัมน์แรก
กําหนดความกว้างของคอลัมน์
คอลัมน์จะแสดงคู่กัน คุณปรับแต่งความกว้างของแต่ละคอลัมน์ได้โดยใช้ช่อง horizontalSizeStyle
หากความกว้างของหน้าจอผู้ใช้แคบเกินไป คอลัมน์ที่ 2 จะตัดขึ้นบรรทัดใหม่ใต้คอลัมน์แรก
- ในเว็บ คอลัมน์ที่ 2 จะตัดขึ้นบรรทัดใหม่หากความกว้างของหน้าจอน้อยกว่าหรือเท่ากับ 480 พิกเซล
- ในอุปกรณ์ iOS คอลัมน์ที่ 2 จะตัดขึ้นบรรทัดใหม่หากความกว้างของหน้าจอน้อยกว่าหรือเท่ากับ 300 พารามิเตอร์เท็กซ์
- ในอุปกรณ์ Android คอลัมน์ที่ 2 จะตัดขึ้นบรรทัดใหม่หากความกว้างของหน้าจอน้อยกว่าหรือเท่ากับ 320 dp
ตัวอย่างต่อไปนี้แสดงการ์ดที่มีวิดเจ็ต columns
ซึ่งมีข้อความ 2 คอลัมน์ที่มี 4 รายการในคอลัมน์ แต่ละรายการในคอลัมน์มีการใช้ horizontalSizeStyle
เพื่อควบคุมพื้นที่ที่ข้อความจะเติมเต็มในแต่ละคอลัมน์
- ย่อหน้าข้อความแรกใช้
FILL_MINIMUM_SPACE
เพื่อเติมไม่เกิน 30% ของความกว้างของการ์ด - ย่อหน้าข้อความที่ 2 ใช้
FILL_AVAILABLE_SPACE
เพื่อเติมพื้นที่ว่างในการ์ด ในตัวอย่างนี้ ข้อความจะกินพื้นที่ 70% ของความกว้างของการ์ด - ย่อหน้าข้อความที่ 3 ไม่ได้กำหนด
horizontalSizeStyle
ดังนั้นระบบจะกรอกข้อความให้เต็มพื้นที่ของการ์ดโดยค่าเริ่มต้น - ย่อหน้าข้อความที่ 4 ใช้
FILL_MINIMUM_SPACE
เพื่อกรอกข้อมูลไม่เกิน 30% ของความกว้างของการ์ด
กำหนดการจัดแนวนอนของคอลัมน์
คุณสามารถจัดแนววิดเจ็ตในแนวนอนไปทางซ้าย ขวา หรือตรงกลางของคอลัมน์โดยการกำหนดค่าช่อง horizontalAligment
หากไม่ได้กำหนดฟิลด์ horizontalAlignment
ระบบจะจัดตำแหน่งวิดเจ็ตไว้ทางด้านซ้ายในคอลัมน์
ตัวอย่างต่อไปนี้จัดแนวข้อความในแนวนอนภายในคอลัมน์ไปทางซ้าย
ตัวอย่างต่อไปนี้จัดแนวข้อความในแนวนอนภายในคอลัมน์ไว้ตรงกลาง
ตัวอย่างต่อไปนี้จัดแนวข้อความในแนวนอนภายในคอลัมน์ไปทางขวา
กำหนดการจัดแนวแนวตั้งของคอลัมน์
คุณสามารถจัดแนววิดเจ็ตในแนวตั้งที่ด้านบน ด้านล่าง หรือตรงกลางของคอลัมน์โดยการกำหนดค่าช่อง verticalAlignment
หากไม่ได้กําหนดฟิลด์ verticalAlignment
วิดเจ็ตในคอลัมน์จะจัดแนวไว้ที่ด้านบน
ตัวอย่างต่อไปนี้จะจัดแนวข้อความในแนวตั้งภายในคอลัมน์ให้อยู่ด้านบน
ตัวอย่างต่อไปนี้จัดแนวข้อความในแนวตั้งภายในคอลัมน์ไว้ตรงกลาง
ตัวอย่างต่อไปนี้จัดแนวข้อความในแนวตั้งภายในคอลัมน์ที่ด้านล่าง
เพิ่มตารางกริดเพื่อแสดงคอลเล็กชันรายการ
วิดเจ็ตgrid
จะแสดงตารางกริดที่มีคอลเล็กชันรายการ ตารางกริดรองรับคอลัมน์และรายการได้ไม่จำกัด จํานวนแถวจะกําหนดโดยรายการหารด้วยคอลัมน์
ตารางกริดที่มี 10 รายการและ 2 คอลัมน์จะมี 5 แถว ตารางกริดที่มี 11 รายการและ 2 คอลัมน์จะมี 6 แถว
วิดเจ็ตรองรับคำแนะนำซึ่งช่วยให้ผู้ใช้ป้อนข้อมูลในแบบเดียวกัน และการดำเนินการเมื่อมีการเปลี่ยนแปลง ซึ่งก็คือActions
ที่ทำงานเมื่อมีการเปลี่ยนแปลงในช่องป้อนข้อความ เช่น ผู้ใช้เพิ่มหรือลบข้อความ
ตัวอย่างต่อไปนี้คือตารางกริด 2 คอลัมน์ที่มีรายการเดียว
หากต้องการกำหนดตําแหน่งที่ข้อความจะปรากฏพร้อมกับรูปภาพในตารางกริด ให้ระบุช่อง gridItemLayout
ช่องนี้ช่วยให้คุณกำหนดได้ว่าจะให้ข้อความปรากฏเหนือหรือใต้รายการในตารางกริด หากไม่มีการกำหนด gridItemLayout
ข้อความจะปรากฏใต้รายการในตารางกริดโดยค่าเริ่มต้น
ตัวอย่างต่อไปนี้คือตารางกริด 3 คอลัมน์ที่มีข้อความและรูปภาพในแต่ละกริด ตารางกริดแรกจะกำหนดข้อความให้ปรากฏเหนือรูปภาพ ตารางกริดที่ 2 จะกำหนดข้อความให้ปรากฏใต้รูปภาพ และตารางกริดที่ 3 จะไม่กำหนดตำแหน่งของข้อความ
เพิ่มเส้นขอบให้กับตารางกริดหรือคอลัมน์
สำหรับรายการที่ปรากฏในวิดเจ็ต column
หรือ grid
คุณสามารถเพิ่มเส้นขอบให้กับองค์ประกอบ UI เหล่านี้ได้โดยกำหนดช่อง borderType
และช่อง borderStyle
หากไม่ได้กำหนดฟิลด์ borderStyle
ระบบจะแสดงไม่มีเส้นขอบโดยค่าเริ่มต้น คุณสามารถกําหนด borderType
เพื่อใช้กับรายการทั้งหมดภายในวิดเจ็ต หรือใช้การจัดรูปแบบกับแต่ละรายการภายในวิดเจ็ตก็ได้
ตัวอย่างต่อไปนี้คือตารางกริด 2 คอลัมน์ที่มีรูปภาพในแต่ละตารางกริด ซึ่งมีการกําหนดประเภท รูปแบบ และสีของเส้นขอบให้ใช้กับรายการทั้งหมดในตารางกริด
ตัวอย่างต่อไปนี้คือตารางกริด 3 คอลัมน์ที่มีรูปภาพในแต่ละกริด และกำหนดสไตล์และประเภทเส้นขอบแยกกัน รูปภาพแรกมีเส้นขอบที่กําหนดเป็น STROKE
รูปภาพที่สองมีเส้นขอบที่กําหนดเป็น
NO_BORDER
รูปภาพที่สามไม่มีการกำหนดเส้นขอบ
เพิ่มส่วนท้ายถาวร
วิดเจ็ต CardFixedFooter
แสดงส่วนท้ายของข้อความโต้ตอบที่ส่งโดยแอป Chat ส่วนท้ายอาจมีปุ่มหลักและปุ่มรอง
วิดเจ็ต CardFixedFooter
ใช้ได้กับกล่องโต้ตอบเท่านั้น
ต่อไปนี้เป็นตัวอย่างวิดเจ็ต CardFixedFooter
ที่มีปุ่ม 2 ปุ่ม
แก้ปัญหา
เมื่อแอป Google Chat หรือการ์ดแสดงข้อผิดพลาด อินเทอร์เฟซของ Chat จะแสดงข้อความว่า "เกิดข้อผิดพลาด" หรือ "ดำเนินการตามคำขอของคุณไม่ได้" บางครั้ง UI ของ Chat ไม่แสดงข้อความแสดงข้อผิดพลาด แต่แอป Chat หรือการ์ดให้ผลลัพธ์ที่ไม่คาดคิด เช่น ข้อความการ์ดอาจไม่ปรากฏ
แม้ว่าข้อความแสดงข้อผิดพลาดอาจไม่แสดงใน UI ของ Chat แต่ข้อความแสดงข้อผิดพลาดที่อธิบายรายละเอียดและข้อมูลบันทึกจะพร้อมให้ใช้งานเพื่อช่วยคุณแก้ไขข้อผิดพลาดเมื่อเปิดการบันทึกข้อผิดพลาดสำหรับแอป Chat หากต้องการความช่วยเหลือในการดู การแก้ไขข้อบกพร่อง และการแก้ไขข้อผิดพลาด โปรดดูแก้ปัญหาและแก้ไขข้อผิดพลาดของ Google Chat