ส่วนขยายทุกรายการต้องมีเอกสารประกอบที่สอนผู้ใช้ว่าส่วนขยายนั้นทำอะไรและใช้งานอย่างไร
เอกสารประกอบขั้นต่ำที่จำเป็นคือชุดไฟล์มาร์กดาวน์ 3 ไฟล์ต่อไปนี้
PREINSTALL.mdPOSTINSTALL.mdCHANGELOG.md
นอกจากนี้ คุณควรพิจารณาสร้างเนื้อหาต่อไปนี้ด้วย
- ไฟล์
READMEสำหรับที่เก็บสาธารณะของส่วนขยาย - บทแนะนำ คู่มือ และข้อมูลอ้างอิงแบบยาวที่เผยแพร่ในเว็บไซต์ของคุณเองและลิงก์ใน
PREINSTALL.md
หากต้องการดูแนวทางปฏิบัติแนะนำ รวมถึงโครงสร้างและวลีที่ใช้กันโดยทั่วไป เราขอแนะนำให้อ่านไฟล์ที่มาพร้อมกับส่วนขยาย Firebase อย่างเป็นทางการ
การสร้าง README
ไดเรกทอรีส่วนขยายอาจมี README หรือไม่มีก็ได้ โปรดทราบว่าคำสั่ง firebase ext:dev:init จะไม่สร้างคีย์ให้คุณโดยอัตโนมัติ
อย่างไรก็ตาม Firebase CLI รองรับคำสั่งอำนวยความสะดวกต่อไปนี้เพื่อสร้างไฟล์ README โดยอัตโนมัติซึ่งมีเนื้อหาที่ดึงมาจากไฟล์ extension.yaml และไฟล์ PREINSTALL.md
firebase ext:info ./path/to/extension --markdown > README.md
ระบบจะสร้างไฟล์ README ทั้งหมดสำหรับส่วนขยาย Firebase อย่างเป็นทางการโดยใช้คำสั่งนี้
เพิ่มข้อมูลการติดตั้ง
หลังจากเขียนหรือสร้าง README แล้ว ให้เพิ่มข้อมูลการติดตั้งลงในไฟล์ดังกล่าว คุณใช้ข้อมูลโค้ดต่อไปนี้เป็นเทมเพลตได้
--- ## 🧩 Install this extension ### Console [][install-link] [install-link]: https://console.firebase.google.com/project/_/extensions/install?ref=publisher_id/extension_name ### Firebase CLI ```bash firebase ext:install publisher_id/extension_name --project=[your-project-id] ``` > Learn more about installing extensions in the Firebase Extensions documentation: > [console](https://firebase.google.com/docs/extensions/install-extensions?platform=console), > [CLI](https://firebase.google.com/docs/extensions/install-extensions?platform=cli) ---
กำลังเขียนไฟล์ PREINSTALL
ไฟล์ PREINSTALL คือภาพรวมของส่วนขยาย ซึ่งเป็นหน้า "การตลาด" ประเภทหนึ่ง
ไฟล์นี้มีเนื้อหาอะไรบ้าง
- คำอธิบายที่ครอบคลุมเกี่ยวกับฟังก์ชันการทำงานของส่วนขยาย
- รายการข้อกำหนดเบื้องต้น เช่น การตั้งค่าฐานข้อมูลหรือการเข้าถึงบริการที่ไม่ใช่ของ Google (ตัวอย่าง)
- คำอธิบายสั้นๆ เกี่ยวกับงานก่อนการติดตั้งและวิธีการ
- คำอธิบายสั้นๆ เกี่ยวกับงานหลังการติดตั้ง
(ตัวอย่าง)
(วิธีการโดยละเอียดจะอยู่ใน
POSTINSTALL) - คำอธิบายสั้นๆ เกี่ยวกับผลกระทบด้านการเรียกเก็บเงิน (เริ่มต้นด้วยข้อความสำเร็จรูป)
เนื้อหานี้แสดงต่อผู้ใช้ที่ใด
คอนโซล Firebase">
คอนโซล Firebase">
- ในหน้าของส่วนขยายบน extensions.dev
- ที่เก็บซอร์สโค้ดสำหรับส่วนขยาย (ภายในไดเรกทอรีส่วนขยาย)
- เป็นส่วนหนึ่งของ README ของส่วนขยาย (หากคุณใช้แฟล็ก Firebase CLI
)--markdown > README.md
ไฟล์ PREINSTALL ไม่สามารถเข้าถึงค่าพารามิเตอร์ของส่วนขยายได้ ดังนั้นคุณจึงไม่ควรคาดหวังว่าการอ้างอิงพารามิเตอร์จะแสดงผลด้วยค่าจริง
แนวทางปฏิบัติแนะนำมีอะไรบ้าง
- เก็บเนื้อหาทั้งหมดของไฟล์
PREINSTALLไว้ไม่เกิน 1 หน้า หากเป็นไปได้ - ระบุรายละเอียดที่ผู้ใช้ปลายทางจำเป็นต้องทราบก่อนติดตั้งส่วนขยาย
- ใส่คำแนะนำโดยละเอียดในไฟล์
POSTINSTALLหรือไฟล์เสริมอื่นๆ - ระบุสั้นๆ หากคุณมีเครื่องมือหรือสคริปต์อื่นๆ เพื่อรองรับส่วนขยาย
กำลังเขียนไฟล์ POSTINSTALL
ไฟล์ POSTINSTALL คือหน้าคำแนะนำหลังการติดตั้งโดยละเอียดของส่วนขยาย
ไฟล์นี้มีเนื้อหาอะไรบ้าง
- วิธีการโดยละเอียดสำหรับงานหลังการติดตั้งที่จำเป็น เช่น การตั้งค่ากฎความปลอดภัยของ Firebase หรือการเพิ่มโค้ดฝั่งไคลเอ็นต์ (ตัวอย่าง)
- วิธีการทั่วไปเกี่ยวกับวิธีลองใช้ส่วนขยายที่ติดตั้งทันที (เช่น "ไปที่คอนโซล แล้วทำสิ่งนี้")
- ข้อมูลพื้นฐานเกี่ยวกับวิธีทริกเกอร์ส่วนขยาย โดยเฉพาะสำหรับส่วนขยายที่ทริกเกอร์ด้วยคำขอ HTTP
- คำแนะนำสั้นๆ เกี่ยวกับวิธีตรวจสอบส่วนขยายที่ติดตั้ง (เริ่มต้นด้วยข้อความสำเร็จรูป)
เนื้อหานี้แสดงต่อผู้ใช้ที่ใด
คอนโซล Firebase">
คอนโซล Firebase">
ในคอนโซล Firebase หลังจากที่ผู้ใช้ติดตั้งส่วนขยาย (ในการ์ดรายละเอียดของส่วนขยายที่ติดตั้ง)
- อย่าลืมตรวจสอบการแสดงเนื้อหา
POSTINSTALLโดยติดตั้งส่วนขยายในโปรเจ็กต์จริง
- อย่าลืมตรวจสอบการแสดงเนื้อหา
ที่เก็บซอร์สโค้ดสำหรับส่วนขยาย (ภายในไดเรกทอรีส่วนขยาย)
ไฟล์ POSTINSTALL สามารถเข้าถึงค่าพารามิเตอร์และตัวแปรที่เกี่ยวข้องกับฟังก์ชันหลายรายการสำหรับส่วนขยาย เมื่อเนื้อหา POSTINSTALL แสดงในคอนโซล Firebase ค่าจริงจะแสดงแทนการอ้างอิงพารามิเตอร์หรือตัวแปร ดูข้อมูลเพิ่มเติมด้านล่างเกี่ยวกับวิธีอ้างอิงพารามิเตอร์และตัวแปรในไฟล์ POSTINSTALL
แนวทางปฏิบัติแนะนำมีอะไรบ้าง
- เขียนเนื้อหาทั้งหมดของไฟล์
POSTINSTALLให้กระชับแต่สื่อความหมาย - แบ่งเนื้อหาออกเป็นส่วนๆ โดยใช้ส่วนหัวเพื่อแยกงานหรือแนวคิดที่แตกต่างกัน
- ลองเผยแพร่คำแนะนำโดยละเอียดสำหรับเวิร์กโฟลว์หรือภารกิจที่เฉพาะเจาะจงในเว็บไซต์ (ตัวอย่าง) หรือในไฟล์มาร์กดาวน์เสริมภายในที่เก็บส่วนขยาย (ตัวอย่าง)
- พารามิเตอร์อ้างอิงและตัวแปรที่เกี่ยวข้องกับฟังก์ชันเพื่อให้ผู้ใช้เห็นค่าที่กำหนดค่าไว้ในบริบทของวิธีการ
การอ้างอิงพารามิเตอร์และตัวแปร
หลังจากติดตั้งแล้ว คอนโซล Firebase จะแสดงเนื้อหาของไฟล์ POSTINSTALL ของส่วนขยาย หากคุณอ้างอิงพารามิเตอร์และตัวแปรที่เกี่ยวข้องกับฟังก์ชัน (ดูตารางด้านล่าง) ในไฟล์ POSTINSTALL คอนโซลจะป้อนข้อมูลการอ้างอิงเหล่านี้ด้วยค่าจริงสำหรับอินสแตนซ์ที่ติดตั้ง
เข้าถึงค่าพารามิเตอร์ที่กำหนดค่าไว้ในไฟล์ POSTINSTALL โดยใช้ไวยากรณ์ต่อไปนี้ ${param:PARAMETER_NAME}
นอกจากนี้ คุณยังอ้างอิงตัวแปรที่เกี่ยวข้องกับฟังก์ชันต่อไปนี้ในไฟล์ POSTINSTALL เท่านั้นได้ด้วย Firebase รองรับตัวแปรเหล่านี้เพื่อให้คุณสามารถให้คำแนะนำแก่ผู้ใช้หลังการติดตั้งได้ง่ายขึ้น โดยจะใช้ได้เฉพาะในไฟล์ POSTINSTALL เนื่องจากค่าของตัวแปรเหล่านี้จะใช้ได้หลังจากการติดตั้งเท่านั้น
ในตารางนี้ function-name คือค่าของช่อง name ในออบเจ็กต์ทรัพยากรของฟังก์ชันภายใน extension.yaml
| ข้อมูลอ้างอิงสำหรับตัวแปรที่เกี่ยวข้องกับฟังก์ชัน | คำอธิบาย | ค่าตัวแปร (Firebase จะป้อนข้อมูลให้อัตโนมัติหลังจากติดตั้งส่วนขยาย) |
|---|---|---|
${function:function-name.location}
|
||
| ตำแหน่งที่มีการติดตั้งใช้งานฟังก์ชัน |
ค่าตัวอย่าง:us-central1
|
|
${function:function-name.name}
|
||
| ชื่อของฟังก์ชันสุดท้ายที่ติดตั้งใช้งาน ซึ่งรวมถึงรหัสอินสแตนซ์ของส่วนขยาย |
รูปแบบทั่วไป:
ค่าตัวอย่าง: |
|
${function:function-name.url}
(ใช้ได้กับฟังก์ชัน HTTP เท่านั้น)
|
||
| URL ของฟังก์ชันที่ติดตั้งใช้งานขั้นสุดท้าย ซึ่งโค้ดไคลเอ็นต์สามารถส่งคำขอ HTTP ได้ |
รูปแบบทั่วไป:
ค่าตัวอย่าง: |
|
การบันทึกวิธีเรียกใช้ส่วนขยาย
ในเอกสารประกอบสำหรับผู้ใช้ของส่วนขยาย คุณต้องแนะนำผู้ใช้เกี่ยวกับวิธีเรียกใช้ส่วนขยาย คำสั่งเหล่านี้อาจมีรายละเอียดมากเท่าที่คุณคิดว่าจำเป็น แต่โปรดคำนึงถึงแนวทางปฏิบัติแนะนำในการเขียนไฟล์ POSTINSTALL
หากต้องการคำแนะนำเกี่ยวกับวิธีระบุวิธีการเหล่านี้ ให้ขยายส่วนด้านล่างที่เกี่ยวข้องกับส่วนขยายของคุณ
การเขียนไฟล์ CHANGELOG
ไฟล์นี้มีเนื้อหาอะไรบ้าง
ส่วนขยายทุกรายการต้องมีไฟล์ CHANGELOG.md ที่บันทึกการเปลี่ยนแปลงที่รวมอยู่ในส่วนขยายเวอร์ชันใหม่แต่ละเวอร์ชันที่คุณเผยแพร่ ใส่แต่ละเวอร์ชันไว้ใต้ส่วนหัวระดับ 2 (##) หรือจะใช้การจัดรูปแบบ Markdown ใดก็ได้ตามต้องการ
ตัวอย่างต่อไปนี้เป็นข้อความที่ตัดตอนมาจากส่วนขยายอย่างเป็นทางการรายการหนึ่ง
## Version 0.1.3 feature - Support deletion of directories (issue #148). ## Version 0.1.2 feature - Add a new param for recursively deleting subcollections in Cloud Firestore (issue #14). fixed - Fixed "cold start" errors experienced when the extension runs after a period of inactivity (issue #48). ## Version 0.1.1 Initial release of the _Delete User Data_ extension.
เนื้อหานี้แสดงต่อผู้ใช้ที่ใด
- ในคอนโซล Firebase และ CLI เมื่อผู้ใช้อัปเกรดส่วนขยายเป็นเวอร์ชันใหม่ คอนโซล Firebase และ CLI จะแสดงเฉพาะการเปลี่ยนแปลงที่จะมีผลหากผู้ใช้อัปเกรดเสร็จสมบูรณ์
- ที่เก็บซอร์สโค้ดของส่วนขยาย (ภายในไดเรกทอรีส่วนขยาย)