ส่วนขยายทุกรายการต้องมีเอกสารประกอบที่อธิบายให้ผู้ใช้ทราบถึงสิ่งที่ส่วนขยายทําและวิธีใช้
เอกสารประกอบที่จําเป็นขั้นต่ำคือไฟล์ Markdown 3 ชุดนี้
PREINSTALL.md
POSTINSTALL.md
CHANGELOG.md
นอกจากนี้ คุณควรพิจารณาสร้างเนื้อหาต่อไปนี้ด้วย
- ไฟล์
README
สำหรับที่เก็บข้อมูลสาธารณะของส่วนขยาย - บทแนะนำ คู่มือ และการอ้างอิงแบบยาวที่เผยแพร่ในเว็บไซต์ของคุณเองและลิงก์ไว้ใน
PREINSTALL.md
หากต้องการดูแนวทางปฏิบัติแนะนำ วลีและโครงสร้างที่ใช้กันโดยทั่วไป เราขอแนะนำให้อ่านไฟล์ที่มีส่วนขยาย Firebase อย่างเป็นทางการ
การสร้างไฟล์ README
ไดเรกทอรีส่วนขยายของคุณอาจมีไฟล์ README หรือไม่ก็ได้ โปรดทราบว่าคำสั่ง firebase ext:dev:init
จะไม่สร้างรายการให้คุณโดยอัตโนมัติ
อย่างไรก็ตาม CLI ของ Firebase รองรับคำสั่งอำนวยความสะดวกต่อไปนี้เพื่อสร้างไฟล์ README
ที่มีเนื้อหาที่ดึงมาจากไฟล์ extension.yaml
และไฟล์ PREINSTALL.md
โดยอัตโนมัติ
firebase ext:info ./path/to/extension --markdown > README.md
ไฟล์ README ทั้งหมดสําหรับส่วนขยาย Firebase อย่างเป็นทางการสร้างขึ้นโดยใช้คําสั่งนี้
เพิ่มข้อมูลการติดตั้ง
หลังจากเขียนหรือสร้าง README แล้ว ให้เพิ่มข้อมูลการติดตั้งลงใน 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:installpublisher_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">
- ในหน้าส่วนขยายบน extensions.dev
- ที่เก็บซอร์สโค้ดสำหรับส่วนขยาย (ภายในไดเรกทอรีส่วนขยาย)
- เป็นส่วนหนึ่งของ README ของส่วนขยาย (หากคุณใช้Firebase CLI
flag)--markdown > README.md
ไฟล์ PREINSTALL
ไม่สามารถเข้าถึงค่าพารามิเตอร์สําหรับส่วนขยายได้ คุณจึงไม่ควรคาดหวังว่าการอ้างอิงพารามิเตอร์จะแสดงผลด้วยค่าจริง
แนวทางปฏิบัติแนะนำมีอะไรบ้าง
- ใส่เนื้อหาทั้งหมดของไฟล์
PREINSTALL
ให้ไม่เกิน 1 หน้า หากเป็นไปได้ - ระบุระดับรายละเอียดที่ผู้ใช้ปลายทางจำเป็นต้องทราบก่อนติดตั้งส่วนขยาย
- ใส่วิธีการโดยละเอียดในไฟล์
POSTINSTALL
หรือไฟล์อื่นๆ เสริม - พูดถึงสั้นๆ ว่าคุณให้เครื่องมือหรือสคริปต์อื่นๆ สนับสนุนส่วนขยายหรือไม่
ข้อความสำเร็จรูป PREINSTALL
ที่เป็นประโยชน์
เราขอแนะนำให้ใช้ข้อความที่เขียนไว้ล่วงหน้าต่อไปนี้ให้มากที่สุดเท่าที่จะทำได้ โดยให้สอดคล้องกับส่วนขยายของคุณ เราได้แสดงตัวอย่างบางส่วนแล้ว แต่สิ่งสำคัญที่สุดคือต้องตรวจสอบว่ามีบริการทั้งหมดที่เรียกเก็บเงินโดย Google และที่ไม่ใช่ของ Google แสดงอยู่ในรายการ
คุณใช้แหล่งข้อมูลต่อไปนี้เพื่อค้นหารายละเอียดราคาผลิตภัณฑ์ที่ถูกต้องได้
สำหรับส่วนขยายทั้งหมด ให้ใส่ส่วนนี้เพื่อช่วยให้ผู้ใช้ได้เข้าใจผลที่ตามมาของการเรียกเก็บเงิน
Billing
This extension uses other Firebase or Google Cloud services which may have
associated charges:
* <list Google services / products that your extension uses>
* <list Firebase services that your extension uses>
* Cloud Secret Manager <if the extension uses secret params>
* Cloud Functions
When you use Firebase Extensions, you're only charged for the underlying
resources that you use. A paid-tier billing plan is only required if the
extension uses a service that requires a paid-tier plan, for example calling to
a Google Cloud API or making outbound network requests to non-Google services.
All Firebase services offer a no-cost tier of usage.
[Learn more about Firebase billing.](https://firebase.google.com/pricing)
<Applicable info about billing implications for non-Google services, such as:>
Usage of this extension also requires you to have a <non-Google-service> account.
You are responsible for any associated costs with your usage of <non-Google-service>.
กำลังเขียนไฟล์ POSTINSTALL
ไฟล์ POSTINSTALL
คือหน้าวิธีการโดยละเอียดหลังการติดตั้งส่วนขยาย
ไฟล์นี้มีเนื้อหาใดบ้าง
- วิธีการโดยละเอียดสำหรับงานหลังการติดตั้งที่จำเป็น เช่น การตั้งค่ากฎความปลอดภัยของ Firebase หรือการเพิ่มโค้ดฝั่งไคลเอ็นต์ (ตัวอย่าง)
- วิธีการทั่วไปในการลองใช้ส่วนขยายที่ติดตั้งไว้ทันที (เช่น "ไปที่คอนโซล แล้วทําดังนี้")
- ข้อมูลพื้นฐานเกี่ยวกับวิธีเรียกให้ส่วนขยายทำงาน โดยเฉพาะสำหรับส่วนขยายที่เรียกให้แสดงโดยคำขอ HTTP
- วิธีการคร่าวๆ ในการตรวจสอบส่วนขยายที่ติดตั้ง (เริ่มต้นด้วยข้อความที่เตรียมไว้)
เนื้อหานี้แสดงต่อผู้ใช้ที่ใด

คอนโซล Firebase">
ในคอนโซล Firebase หลังจากที่ผู้ใช้ติดตั้งส่วนขยาย (ในการ์ดรายละเอียดของส่วนขยายที่ติดตั้ง)
- อย่าลืมตรวจสอบการแสดงเนื้อหา
POSTINSTALL
โดยติดตั้งส่วนขยายในโปรเจ็กต์จริง
- อย่าลืมตรวจสอบการแสดงเนื้อหา
ที่เก็บซอร์สโค้ดสำหรับส่วนขยาย (ภายในไดเรกทอรีส่วนขยาย)
ไฟล์ POSTINSTALL
สามารถเข้าถึงค่าพารามิเตอร์และตัวแปรที่เกี่ยวข้องกับฟังก์ชันหลายรายการสำหรับส่วนขยาย เมื่อเนื้อหา POSTINSTALL
แสดงในคอนโซล Firebase ระบบจะแสดงค่าจริงแทนการอ้างอิงพารามิเตอร์หรือตัวแปร ดูข้อมูลเพิ่มเติมด้านล่างเกี่ยวกับวิธีอ้างอิงพารามิเตอร์และตัวแปรในไฟล์ POSTINSTALL
แนวทางปฏิบัติแนะนำมีอะไรบ้าง
- เขียนเนื้อหาทั้งหมดของไฟล์
POSTINSTALL
ให้กระชับแต่สื่อความหมาย - แบ่งเนื้อหาออกเป็นส่วนๆ โดยใช้ส่วนหัวเพื่อแยกงานหรือแนวคิดที่แตกต่างกัน
- ลองเผยแพร่วิธีการแบบละเอียดสำหรับเวิร์กโฟลว์หรืองานหนึ่งๆ ในเว็บไซต์ (ตัวอย่าง) หรือในไฟล์ Markdown เสริมภายในที่เก็บส่วนขยาย (ตัวอย่าง)
- อ้างอิงพารามิเตอร์และตัวแปรที่เกี่ยวข้องกับฟังก์ชันเพื่อให้ผู้ใช้เห็นค่าที่กําหนดค่าไว้ในบริบทของวิธีการ
การอ้างอิงพารามิเตอร์และตัวแปร
หลังจากติดตั้งแล้ว คอนโซล 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
ที่เป็นประโยชน์
เราขอแนะนำให้ใช้ข้อความที่เขียนไว้ล่วงหน้าต่อไปนี้ให้มากที่สุดเท่าที่จะทำได้ โดยให้สอดคล้องกับส่วนขยายของคุณ
สำหรับส่วนขยายทั้งหมด ให้ใส่ส่วนต่อไปนี้เพื่อช่วยให้ผู้ใช้ได้ตรวจสอบส่วนขยายที่ติดตั้ง
Monitoring
As a best practice, you can
[monitor the activity](https://firebase.google.com/docs/extensions/manage-installed-extensions_community#monitor)
of your installed extension, including checks on its health, usage, and logs.
บันทึกวิธีเรียกให้ส่วนขยายทำงาน
ในเอกสารประกอบสำหรับผู้ใช้ของส่วนขยาย คุณต้องอธิบายวิธีเรียกให้ส่วนขยายทำงาน วิธีการเหล่านี้จะละเอียดเท่าใดก็ได้ที่คุณคิดว่าจำเป็น แต่อย่าลืมคำนึงถึงแนวทางปฏิบัติแนะนำในการเขียนไฟล์ POSTINSTALL
หากต้องการทราบคําแนะนําเกี่ยวกับวิธีระบุวิธีการเหล่านี้ ให้ขยายส่วนด้านล่างที่เกี่ยวข้องกับส่วนขยายของคุณ
ส่วนขยายที่ทริกเกอร์ตามเหตุการณ์ในเบื้องหลัง
ผู้ใช้สามารถเรียกให้ส่วนขยายที่ทริกเกอร์เหตุการณ์ในเบื้องหลังแสดงได้หลายวิธี โดยขึ้นอยู่กับผลิตภัณฑ์ที่เกี่ยวข้อง
ทำการเปลี่ยนแปลงในคอนโซลโดยตรง
คุณสามารถบอกให้ผู้ใช้ทำการเปลี่ยนแปลงที่ทริกเกอร์ส่วนขยายได้โดยตรงในคอนโซลFirebase โดยเฉพาะสำหรับการทดสอบส่วนขยายครั้งแรก ตัวอย่างเช่น สมมติว่าส่วนขยายสร้างเอกสาร Cloud Firestore ใหม่ทุกครั้งที่มีการสร้างผู้ใช้ Firebase Authentication ใหม่ คุณสามารถบอกให้ผู้ใช้ทดสอบอินสแตนซ์ที่ติดตั้งไว้ของส่วนขยายได้โดยการเพิ่มผู้ใช้ Authentication ใหม่ในคอนโซลด้วยตนเอง จากนั้นผู้ใช้จะเห็นเอกสารใหม่ที่สร้างขึ้นในส่วน Cloud Firestore ของคอนโซล
เพิ่มโค้ดฝั่งไคลเอ็นต์
นอกจากนี้ คุณยังแนะนำผู้ใช้เกี่ยวกับวิธีเพิ่มโค้ดฝั่งไคลเอ็นต์เพื่อเรียกให้ส่วนขยายทำงานได้ (หากมี) คุณควรนำผู้ใช้ไปยังเอกสารประกอบอย่างเป็นทางการสำหรับ API ที่ผู้ใช้จะต้องใช้ นอกจากนี้ คุณยังใส่ตัวอย่างแอปหรือตัวอย่างไคลเอ็นต์ที่คอมไพล์แล้วเพื่อช่วยให้ผู้ใช้ได้ผสานรวมส่วนขยายเข้ากับแอปของตนได้ด้วย (ดูตัวอย่างได้จากส่วนขยายตัวนับแบบกระจาย)
ส่วนขยายที่ทริกเกอร์โดยคําขอ HTTP
เพื่อให้ผู้ใช้เรียกใช้ฟังก์ชันที่ทริกเกอร์โดยคําขอ HTTP (และส่วนขยาย) ได้ คุณต้องระบุชื่อหรือ URL ของฟังก์ชันที่ติดตั้งใช้งาน
ชื่อของฟังก์ชันที่ติดตั้งใช้งานขั้นสุดท้ายจะไม่เหมือนกับ name
ที่คุณระบุไว้ในออบเจ็กต์ทรัพยากรของฟังก์ชันภายใน extension.yaml
Firebase จะเปลี่ยนชื่อฟังก์ชันเป็นรูปแบบ ext-extension-instance-id-function-name
หัวข้อต่อไปนี้คือข้อความที่แนะนำสำหรับใส่ไว้ในไฟล์ POSTINSTALL
ของส่วนขยาย หลังจากการติดตั้งแล้ว คอนโซล Firebase จะแสดงเนื้อหาของไฟล์ POSTINSTALL
และป้อนข้อมูลอ้างอิงเหล่านี้ด้วยค่าที่กําหนดค่าจริงสําหรับอินสแตนซ์ที่ติดตั้ง เช่น หากคุณกําหนดฟังก์ชันชื่อ yourFunction
คุณอาจใส่ข้อมูลต่อไปนี้ได้ (ตามความเกี่ยวข้อง)
สําหรับฟังก์ชัน HTTP
onRequest
To trigger this extension, make a request to or visit the following URL: **`${function:yourFunction.url}`**.
สําหรับฟังก์ชันที่เรียกใช้ได้ (
onCall
) ของ HTTPThis extension is implemented as an HTTP callable function. To call it from your client app, follow the instructions in the [callable functions documentation](https://firebase.google.com/docs/functions/callable#call_the_function). The name of the function to call is **`${function:yourFunction.name}`**, and its region is **`${function:yourFunction.location}`**.
การเขียนไฟล์ 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 จะแสดงเฉพาะการเปลี่ยนแปลงที่จะมีผลหากผู้ใช้อัปเกรดเสร็จสมบูรณ์
- ที่เก็บซอร์สโค้ดของส่วนขยาย (ภายในไดเรกทอรีส่วนขยาย)