แนวทางปฏิบัติแนะนำ

ปรับปรุงประสบการณ์โดยรวมของผู้ใช้โดยทำตามคำแนะนำเหล่านี้สำหรับการออกแบบส่วนเสริม

แนวทางปฏิบัติแนะนำโดยทั่วไป

เราขอแนะนำให้คุณใช้แนวทางปฏิบัติแนะนำต่อไปนี้สำหรับส่วนเสริมทั้งหมดที่คุณพัฒนา

กำหนดการเป็นเจ้าของส่วนเสริมก่อนเริ่มต้น

ส่วนเสริมกำหนดโดยโปรเจ็กต์ Apps Script ซึ่ง ต้องเป็นของบัญชีที่เฉพาะเจาะจงหรือวางไว้ในไดรฟ์ที่แชร์ ก่อนเขียนโค้ดส่วนเสริม ให้กำหนดบัญชีที่ควรเป็นเจ้าของโปรเจ็กต์และบัญชีที่จะทำหน้าที่เป็นผู้เผยแพร่ นอกจากนี้ ให้กำหนดบัญชีที่จะทำหน้าที่ เป็นผู้ทำงานร่วมกัน และตรวจสอบว่าบัญชีเหล่านั้นมีสิทธิ์เข้าถึงโปรเจ็กต์สคริปต์ และโปรเจ็กต์ที่อยู่ในระบบคลาวด์ Google ที่เชื่อมโยง

ขยายขอบเขตการใช้งาน Google Workspace ไม่ใช่ทำซ้ำ

ส่วนเสริมมีไว้เพื่อมอบความสามารถใหม่ๆ ให้กับแอปพลิเคชัน Google Workspace ที่ส่วนเสริมขยายขอบเขตการใช้งาน หรือไม่ก็เพื่อทำให้งานที่ซับซ้อนเป็นอัตโนมัติ ส่วนเสริมที่ทำซ้ำฟังก์ชันการทำงานที่มีอยู่แล้วภายใน แอปพลิเคชัน หรือส่วนเสริมที่ไม่ได้ปรับปรุงเวิร์กโฟลว์ อย่างมีนัยสำคัญนั้นไม่น่าจะผ่านการตรวจสอบส่วนเสริมเพื่อเผยแพร่

กำหนดขอบเขตให้แคบ

เมื่อ กำหนดขอบเขต อย่างชัดเจน ให้เลือกชุดขอบเขตที่มีสิทธิ์ น้อยที่สุดเท่าที่จะเป็นไปได้เสมอ ตัวอย่างเช่น อย่าให้ส่วนเสริมขอสิทธิ์เข้าถึงปฏิทินของผู้ใช้แบบเต็มด้วยขอบเขต https://www.googleapis.com/auth/calendar หากส่วนเสริมต้องการเพียงสิทธิ์เข้าถึงแบบอ่านอย่างเดียว สำหรับสิทธิ์เข้าถึงแบบอ่านอย่างเดียว ให้ใช้ขอบเขต https://www.googleapis.com/auth/calendar.readonly

หลีกเลี่ยงการพึ่งพาไลบรารีมากเกินไป

การใช้ไลบรารี Apps Script อาจ ทำให้ส่วนเสริมทำงานช้ากว่า กรณีที่โค้ด Apps Script ทั้งหมดอยู่ใน โปรเจ็กต์สคริปต์เดียว แม้ว่าไลบรารี Apps Script จะทำงานในส่วนเสริมได้ แต่คุณอาจพบว่าประสิทธิภาพลดลงหากใช้ไลบรารี หลีกเลี่ยงการใส่ไลบรารีที่ไม่จำเป็นลงในโปรเจ็กต์ และพิจารณาวิธีลดการพึ่งพาไลบรารีของส่วนเสริม

เวลาในการตอบสนองที่อธิบายไว้ข้างต้นจะมีผลกับโปรเจ็กต์ Apps Script ที่ใช้เป็นไลบรารีฝั่งเซิร์ฟเวอร์เท่านั้น คุณสามารถใช้ไลบรารี JavaScript ฝั่งไคลเอ็นต์ เช่น jQuery ได้อย่างอิสระโดยไม่พบเวลาในการตอบสนองนี้

แนวทางปฏิบัติแนะนำสำหรับส่วนเสริมของ Google Workspace

แนวทางปฏิบัติแนะนำต่อไปนี้มีผลกับส่วนเสริมของ Google Workspace และการใช้ บริการการ์ดเท่านั้น

ใช้การ์ดเพียงไม่กี่ใบ

หากส่วนเสริมใช้การ์ดมากเกินไป การกำหนดค่าการนำทางจะซับซ้อนและจัดการได้ยาก

หลีกเลี่ยงการสร้างการ์ดมากกว่าที่จำเป็น

ใช้ฟังก์ชันการสร้างวิดเจ็ต

เมื่อเขียนโค้ดที่สร้าง Card หรือออบเจ็กต์ UI ที่ซับซ้อนอื่นๆ ให้พิจารณาใส่โค้ดนั้นไว้ในฟังก์ชันของตัวเอง ฟังก์ชันการสร้างนี้ควรสร้างออบเจ็กต์และส่งคืนออบเจ็กต์นั้นเท่านั้น ซึ่งจะช่วยให้คุณสร้างออบเจ็กต์นั้นขึ้นมาใหม่ได้อย่างรวดเร็วทุกครั้งที่ต้องรีเฟรช UI อย่าลืมเรียกใช้ build() หลังจากใช้ คลาส Builder ใน บริการการ์ด

ทำให้การ์ดเรียบง่าย

หากการ์ดใบหนึ่งมีวิดเจ็ตมากเกินไป การ์ดนั้นอาจกินพื้นที่หน้าจอมากเกินไปและมีประโยชน์น้อยลง แม้ว่าส่วนการ์ดขนาดใหญ่จะแสดงผลเป็นองค์ประกอบ UI ที่ยุบได้ แต่การทำเช่นนี้จะซ่อนข้อมูลจากผู้ใช้ พยายามปรับปรุงส่วนเสริมให้มีประสิทธิภาพและมอบสิ่งที่ผู้ใช้ต้องการอย่างแท้จริงเท่านั้น

ใช้การ์ดข้อผิดพลาด

สร้างการ์ดสำหรับเงื่อนไขข้อผิดพลาด หากส่วนเสริมแสดงข้อผิดพลาด ส่วนเสริมควรแสดงการ์ดที่มีข้อมูลข้อผิดพลาดและวิธีการแก้ไข (หากเป็นไปได้) ตัวอย่างเช่น หากส่วนเสริมเชื่อมต่อกับบริการที่ไม่ใช่ของ Google ไม่ได้เนื่องจากการให้สิทธิ์ล้มเหลว ให้แสดงการ์ดที่ระบุข้อความนี้และขอให้ผู้ใช้ยืนยันข้อมูลบัญชีที่ใช้

เขียนการทดสอบและข้อความทดสอบ

คุณควรทดสอบส่วนเสริมทั้งหมดที่สร้างขึ้นอย่างละเอียด สร้างบิลด์ทดสอบฟังก์ชันที่สร้างการ์ดและวิดเจ็ตโดยใช้ข้อมูลทดสอบ แล้วตรวจสอบว่ามีการสร้างออบเจ็กต์ตามที่คาดไว้

เมื่อใช้ฟังก์ชันเรียกกลับการดำเนินการ คุณมักจะต้อง สร้างออบเจ็กต์การตอบกลับ คุณสามารถใช้คำสั่งต่อไปนี้เพื่อตรวจสอบว่ามีการสร้างการตอบกลับอย่างถูกต้อง

    Logger.log(response.printJson());

เรียกใช้ฟังก์ชันทดสอบที่คุณสร้างขึ้นโดยตรงจากเอดิเตอร์ Apps Script โดยใช้เมนูเรียกใช้ เมื่อมีส่วนเสริม ที่ใช้งานได้แล้ว ให้ติดตั้งเวอร์ชัน ที่ยังไม่ได้เผยแพร่เพื่อให้คุณทดสอบได้

ใช้ข้อมูลทดสอบที่เหมาะสมกับแอปพลิเคชันโฮสต์แต่ละรายการที่ส่วนเสริมขยายขอบเขตการใช้งาน ตัวอย่างเช่น หากส่วนเสริมขยายขอบเขตการใช้งาน Gmail คุณอาจต้องมีอีเมลทดสอบ 2-3 ฉบับและรหัสข้อความของอีเมลเหล่านั้น เพื่อให้แน่ใจว่าส่วนเสริมจะทำงานตามที่คาดไว้เมื่อได้รับเนื้อหาข้อความที่แตกต่างกัน คุณสามารถรับรหัสข้อความสำหรับข้อความที่ต้องการได้โดยการแสดงรายการ ข้อความโดยใช้Gmail API users.messages.list วิธี หรือโดยใช้บริการGmail ของ Apps Script

แนวทางปฏิบัติแนะนำสำหรับการประชุมในปฏิทิน

หากส่วนเสริมผสานรวมตัวเลือกการประชุมในปฏิทินของบุคคลที่สาม เข้ากับ Google ปฏิทิน ให้ทำตามแนวทางปฏิบัติแนะนำเพิ่มเติมต่อไปนี้

ทำให้ onCreateFunction มีขนาดเล็ก

ระบบจะเรียกใช้ onCreateFunction แต่ละรายการที่คุณกำหนดไว้ในไฟล์ Manifest แบบซิงโครนัสเมื่อผู้ใช้พยายาม สร้างโซลูชันการประชุมประเภทนั้น ตรวจสอบว่าฟังก์ชันเหล่านี้ทำงานเฉพาะที่จำเป็นเท่านั้นเพื่อสร้างการประชุม การทำงานมากเกินไปในฟังก์ชันเหล่านี้อาจทำให้ผู้ใช้ได้รับประสบการณ์การใช้งานส่วนเสริมที่ช้า

ใช้ช่อง ConferenceData ที่เหมาะสมสำหรับข้อมูลการประชุม

เมื่อสร้าง ConferenceData ออบเจ็กต์ คุณสามารถป้อนรายละเอียดเกี่ยวกับการประชุม (รหัสการเข้าถึง หมายเลขโทรศัพท์ รหัส PIN, URI ฯลฯ) ตรวจสอบว่าได้ใช้ช่อง EntryPoint ที่เกี่ยวข้องสำหรับ ข้อมูลนี้ อย่าใส่รายละเอียดเหล่านี้ในช่องหมายเหตุ ConferenceData

อย่าผนวกรายละเอียดการประชุมเข้ากับกิจกรรมในปฏิทิน

ส่วนเสริมไม่จำเป็นต้องเพิ่มข้อมูลเกี่ยวกับการประชุมของบุคคลที่สามที่สร้างขึ้นลงในคำอธิบายกิจกรรมในปฏิทิน ปฏิทินจะดำเนินการนี้โดยอัตโนมัติเมื่อจำเป็น