หน้าแรกคือฟีเจอร์ส่วนเสริมใหม่ของ Google Workspace ที่ช่วยให้คุณกำหนดการ์ดที่ไม่ใช่บริบทได้อย่างน้อย 1 ใบ การ์ดที่ไม่ใช่บริบทจะใช้เพื่อแสดงอินเทอร์เฟซผู้ใช้เมื่อผู้ใช้ นอกเหนือบริบทที่ระบุ เช่น เมื่อผู้ใช้กำลังดูกล่องจดหมาย Gmail แต่ยังไม่ได้เปิดข้อความหรือฉบับร่าง
หน้าแรกช่วยให้คุณสามารถแสดง เนื้อหาที่ไม่ใช่บริบท แอป Google ใน แผงด้านข้างแบบเข้าถึงด่วน (Keep, ปฏิทิน และ Tasks) หน้าแรกยังเป็นจุดเริ่มต้นเริ่มต้นอีกด้วย ตำแหน่งที่ผู้ใช้เปิดส่วนเสริมเป็นครั้งแรก และมีประโยชน์ต่อการสอน วิธีโต้ตอบกับส่วนเสริมของคุณให้กับผู้ใช้ใหม่
คุณกำหนดหน้าแรกสำหรับส่วนเสริมได้โดยระบุในโปรเจ็กต์
ไฟล์ Manifest และใช้ฟังก์ชัน homepageTrigger
อย่างน้อย 1 รายการ (ดู
การกำหนดค่าหน้าแรก)
คุณมีหน้าแรกได้หลายหน้าแรก โดยแต่ละหน้าแรกจะมีแอปพลิเคชันหนึ่งสำหรับแต่ละแอปพลิเคชันโฮสต์ที่ส่วนเสริมของคุณ ขยาย นอกจากนี้คุณยังสามารถเลือกกำหนดหน้าแรกเริ่มต้นที่ใช้กันทั่วไปซึ่งมีลักษณะดังนี้ ที่ใช้ในโฮสต์ที่คุณยังไม่ได้ระบุหน้าแรกที่กำหนดเอง
หน้าแรกของส่วนเสริมจะปรากฏขึ้นเมื่อเป็นไปตามเงื่อนไขข้อใดข้อหนึ่งต่อไปนี้
- เมื่อเปิดส่วนเสริมครั้งแรกในโฮสต์ (หลังจากการให้สิทธิ์)
- เมื่อผู้ใช้เปลี่ยนจากบริบทตามบริบทไปยังบริบทที่ไม่ใช่บริบท ขณะที่ส่วนเสริมเปิดอยู่ ตัวอย่างเช่น จากการแก้ไขกิจกรรมในปฏิทินไปยัง ปฏิทินหลัก
- เมื่อผู้ใช้คลิกปุ่มย้อนกลับมากจนหลายครั้ง นำการ์ดอื่นๆ ทั้งหมดออกจากสแต็กภายใน
- เมื่อการโต้ตอบของ UI ในการ์ดที่ไม่ใช่ตามบริบทส่งผลให้เกิด
Navigation.popToRoot()
การโทร
การออกแบบหน้าแรกไม่ได้บังคับ แต่ขอแนะนำให้ทำ หากคุณไม่ได้ระบุการ์ดทั่วไป ที่มีชื่อส่วนเสริมของคุณอยู่ด้วยทุกครั้งที่ผู้ใช้ไปยังส่วนต่างๆ ไปยังหน้าแรก
การกำหนดค่าหน้าแรก
ส่วนเสริมของ Google Workspace ใช้
addOns.common.homepageTrigger
ช่องเพื่อกำหนดค่าเนื้อหาส่วนเสริมเริ่มต้น (ไม่ใช่บริบท) สำหรับ
แอปพลิเคชันโฮสต์ทั้งหมดในส่วนเสริม
ไฟล์ Manifest:
{
// ...
"addOns": {
// ...
"common": {
// ...
"homepageTrigger": {
"runFunction": "myFunction",
"enabled": true
}
}
}
}
runFunction
: ชื่อของฟังก์ชัน Apps Script ที่การเรียก เฟรมเวิร์กส่วนเสริมของ Google Workspace จะเรียกใช้แสดงผลการ์ดส่วนเสริมในหน้าแรก ฟังก์ชันนี้คือฟังก์ชันทริกเกอร์หน้าแรก ฟังก์ชันนี้ต้องสร้าง และแสดงอาร์เรย์ของCard
ที่ประกอบขึ้นเป็น UI ของหน้าแรก หากมีการแสดงผลบัตรมากกว่า 1 ใบ ระบบจะ แอปพลิเคชันโฮสต์จะแสดงส่วนหัวของการ์ดในรายการที่ผู้ใช้สามารถเลือกได้ จาก (โปรดดู ส่งคืนบัตรหลายใบ)enabled
: ควรเปิดใช้การ์ดหน้าแรกสำหรับขอบเขตนี้หรือไม่ ช่วงเวลานี้ ช่องนี้ไม่บังคับ และมีค่าเริ่มต้นเป็นtrue
การตั้งค่านี้เป็นสาเหตุfalse
รายการ การ์ดหน้าแรกที่จะปิดใช้สำหรับโฮสต์ทั้งหมด (เว้นแต่จะมีการลบล้าง host; ดูด้านล่าง)
นอกจากการกำหนดค่าทั่วไปแล้ว ยังมี
การแทนที่ต่อโฮสต์ที่มีโครงสร้างเหมือนกันที่มีอยู่ในแอปพลิเคชันโฮสต์แต่ละรายการ
การกำหนดค่า ที่ addOns.gmail.homepageTrigger
, addOns.calendar.homepageTrigger
และอื่นๆ เช่น
{
...
"addOns": {
...
"common": {
// By default, call 'buildHomePage' to render homepage content
// in all hosts. Since calendar.homepageTrigger below overrides
// this in Calendar and Drive and the homepageTrigger is disabled
// for Gmail, this homepage function never executes.
"homepageTrigger": { "runFunction": "buildHomePage" }
},
"calendar": {
// Show customized homepage content for Calendar only.
"homepageTrigger": { "runFunction": "buildCalendarHomepage" }
},
"drive": {
// Show customized homepage content for Drive only.
"homepageTrigger": { "runFunction": "buildDriveHomepage" }
}
"gmail": {
// Disable homepage add-on content in Gmail.
"homepageTrigger": { "enabled": false }
},
...
}
}
โปรดทราบว่าสิ่งนี้เทียบเท่ากับข้อความ Manifest ที่ตัดตอนมาต่อไปนี้
{
...
"addOns": {
...
"common": { /* ... */ }, // Omitted a default homepageTrigger specification.
"calendar": {
// Show customized homepage content for Calendar only.
"homepageTrigger": { "runFunction": "myCalendarFunction" }
},
"drive": {
// Show customized homepage content for Drive only.
"homepageTrigger": { "runFunction": "myDriveFunction" }
}
"gmail": { /* ... */ },
...
}
}
โดยไม่จำเป็นต้องมีส่วนใดของ homepageTrigger
แต่ UI ที่แสดงสำหรับ
ส่วนเสริมในผลิตภัณฑ์โฮสต์ที่กำหนดจะขึ้นอยู่กับการมี
ไฟล์ Manifest ที่เกี่ยวข้องหรือไม่ และมีลิงก์
homepageTrigger
ตัวอย่างต่อไปนี้แสดงฟังก์ชันทริกเกอร์ของส่วนเสริม
ถูกดำเนินการ (ถ้ามี) เพื่อสร้าง UI ของหน้าแรกสำหรับไฟล์ Manifest ต่างๆ
การกำหนดค่า:
ออบเจ็กต์เหตุการณ์ในหน้าแรก
เมื่อเรียกใช้ ฟังก์ชันทริกเกอร์หน้าแรก (runFunction
) ที่อธิบายไว้ข้างต้นจะเป็น
ส่งออบเจ็กต์เหตุการณ์
ที่มีข้อมูลจากบริบทการเรียกใช้
ออบเจ็กต์เหตุการณ์ในหน้าแรกจะไม่มีวิดเจ็ตหรือข้อมูลบริบท เวลา ข้อมูลที่ส่งจะจำกัดไว้เพียง ออบเจ็กต์เหตุการณ์ทั่วไป ฟิลด์:
commonEventObject.clientPlatform
commonEventObject.hostApp
commonEventObject.userLocale
และcommonEventObject.userTimezone
(แต่ ดูการเข้าถึงภาษาและเขตเวลาของผู้ใช้ สำหรับข้อมูลข้อจำกัด)
ดูรายละเอียดเพิ่มเติมในออบเจ็กต์เหตุการณ์
การ์ดที่ไม่ใช่บริบทอื่นๆ
UI ของส่วนเสริมสามารถประกอบด้วยการ์ดอื่นๆ ที่ไม่ใช่การ์ดตามบริบท หน้าแรก ตัวอย่างเช่น หน้าแรกของคุณอาจมีปุ่มที่เปิด "การตั้งค่า" ที่ผู้ใช้สามารถปรับการตั้งค่าส่วนเสริม (การตั้งค่าดังกล่าว) ในกรณีส่วนใหญ่ จะไม่ขึ้นอยู่กับบริบท ดังนั้นจึงไม่ใช่บริบท)
การ์ดที่ไม่มีบริบทจะสร้างขึ้นเหมือนกับการ์ดอื่นๆ ความแตกต่างเพียงอย่างเดียวคือ การดำเนินการหรือเหตุการณ์ที่สร้างและแสดงการ์ด โปรดดู วิธีไปยังส่วนต่างๆ เพื่อดูรายละเอียดเกี่ยวกับวิธีสร้างการเปลี่ยนระหว่างการ์ด