ภาพรวมของผู้เผยแพร่ส่วนขยาย

ส่วนขยาย Firebase จะทำงานหรือชุดงานที่เฉพาะเจาะจงเพื่อตอบสนองต่อ คำขอ HTTP หรือการเรียกเหตุการณ์จาก Firebase และผลิตภัณฑ์อื่นๆ ของ Google เช่น Firebase Cloud Messaging, Cloud Firestore หรือ Pub/Sub

คุณสามารถสร้างส่วนขยายของตัวเองเพื่อใช้งานส่วนตัวหรือเพื่อแชร์กับคนทั้งโลกได้ใน ฮับ Firebase Extensions ตัวอย่างเช่น ส่วนขยายสามารถดำเนินการ ที่แอปของคุณต้องการเป็นประจำ หรือทำให้การเข้าถึงหนึ่งใน API ของบริษัท หลังจากสร้างส่วนขยายแล้ว คุณสามารถแชร์ส่วนขยายกับ อื่นๆ ผู้ใช้เหล่านั้นสามารถติดตั้งและกำหนดค่าส่วนขยายสำหรับการใช้งานด้วยตนเองได้ โปรเจ็กต์ Firebase

โครงสร้างของส่วนขยาย

ส่วนขยายมีส่วนประกอบหลัก 3 ส่วน ได้แก่

  • โค้ด Cloud Functions ใน JavaScript หรือ TypeScript
  • ข้อมูลเมตาที่อธิบายส่วนขยายของคุณ
  • เอกสารประกอบที่จะช่วยผู้ใช้กำหนดค่าและใช้ส่วนขยายของคุณ

ในการพัฒนาส่วนขยาย คุณจะต้องประกอบคอมโพเนนต์เหล่านี้เข้าด้วยกัน โครงสร้าง:

example-extension
├── functions
│   ├── integration-tests
│   │   ├── extensions
│   │   │   └── example-extension.env
│   │   ├── firebase.json
│   │   └── integration-test.spec.js
│   ├── index.js
│   └── package.json
├── README.md
├── PREINSTALL.md
├── POSTINSTALL.md
├── CHANGELOG.md
├── icon.png
└── extension.yaml
  • ไดเรกทอรี functions มีโค้ด Cloud Functions ใน JavaScript หรือ TypeScript นี่คือโค้ดที่ทำงานของส่วนขยายใน การตอบสนองต่อเหตุการณ์ที่ทริกเกอร์โดย Firebase และบริการของ Google
  • ไฟล์ extension.yaml มีข้อมูลเมตาเกี่ยวกับส่วนขยายของคุณ เช่น ทริกเกอร์และบทบาทการเข้าถึง IAM รวมถึงพารามิเตอร์ที่คุณต้องการ ผู้ใช้สามารถกำหนดค่าได้
  • ไฟล์ PREINSTALL, POSTINSTALL และ CHANGELOG เป็นไฟล์ขั้นต่ำ ที่ส่วนขยายของคุณต้องมี ไฟล์เหล่านี้ช่วยให้ผู้ใช้ได้เรียนรู้ ดูว่าส่วนขยายของคุณทำอะไร ใช้งานอย่างไร และอัปเดตอะไรบ้าง คุณ ควรระบุไอคอนเพื่อช่วยให้ผู้ใช้จดจำส่วนขยายของคุณ คอนโซล Firebase, Firebase CLI และฮับส่วนขยายแสดงเนื้อหาของ ไฟล์เหล่านี้เมื่อผู้ใช้สำรวจ ติดตั้ง และจัดการส่วนขยายของคุณ

หลังจากสร้างส่วนขยายแล้ว คุณสามารถใช้ Firebase CLI เพื่อติดตั้ง ลงในโปรเจ็กต์หรือเผยแพร่ไปยังฮับส่วนขยาย ซึ่งใครๆ ก็สามารถค้นพบ และติดตั้งลงในโปรเจ็กต์

ส่วนขยายของฉันสามารถโต้ตอบกับผลิตภัณฑ์ใดได้บ้าง

เนื่องจากส่วนขยาย Firebase จะทำงานโดยใช้ฟังก์ชันระบบคลาวด์ เกี่ยวกับการผสานรวมที่เป็นไปได้ใน 2 ลักษณะ ได้แก่ ผลิตภัณฑ์ใดที่จะทริกเกอร์ได้ ของส่วนขยายของฉันอย่างไร และเมื่อเรียกใช้ ส่วนขยายของฉันสามารถ โต้ตอบด้วยไหม

ทริกเกอร์ฟังก์ชันที่รองรับ

ทริกเกอร์ด้วยตนเอง

อย่างแรก คุณสามารถทริกเกอร์ฟังก์ชันด้วยตนเองได้ Firebase Extensions และระบบคลาวด์ ฟังก์ชันรองรับการเรียกฟังก์ชันด้วยตนเอง 2 วิธี ดังนี้

  • ทริกเกอร์ HTTP: ทำให้ฟังก์ชันใช้งานได้กับปลายทาง HTTP
  • ฟังก์ชันที่เรียกใช้ได้: เรียกใช้ฟังก์ชันระบบคลาวด์ได้โดยตรงจาก iOS Android หรือโค้ดไคลเอ็นต์ของเว็บ โดยใช้ SDK ของไคลเอ็นต์ Firebase

การแสดงปลายทาง HTTP จากส่วนขยายอาจทำให้ส่วนขยาย ผสานรวมกับบริการเว็บที่รองรับเว็บฮุค ด้วยฟังก์ชันที่เรียกใช้ได้ ผู้ใช้ที่ติดตั้งส่วนขยายของคุณสามารถใช้ Firebase SDK เป็นไลบรารีของไคลเอ็นต์ได้ ในการเข้าถึง API ที่ส่วนขยายของคุณใช้

ทริกเกอร์บริการ Firebase

ผลิตภัณฑ์ Firebase ส่วนใหญ่จะปล่อยเหตุการณ์ที่สามารถเรียกใช้ระบบคลาวด์ของส่วนขยาย ฟังก์ชัน

  • Analytics: เรียกใช้ฟังก์ชันเมื่อ Analytics บันทึกเหตุการณ์
  • App Distribution: จะทริกเกอร์ฟังก์ชันเมื่อ App Distribution ทริกเกอร์ การแจ้งเตือน
  • การตรวจสอบสิทธิ์: เรียกใช้ฟังก์ชันเมื่อผู้ใช้สร้างและลบบัญชี
  • Cloud Firestore: เรียกใช้ฟังก์ชันเมื่อมีการสร้างหน้า อัปเดต หรือ ลบแล้ว
  • Cloud Storage: ทริกเกอร์ฟังก์ชันเมื่ออัปโหลดออบเจ็กต์ เก็บถาวร หรือ ลบออกจากที่เก็บข้อมูลแล้ว
  • Crashlytics: ทริกเกอร์ฟังก์ชันเมื่อ Crashlytics ทริกเกอร์การแจ้งเตือน
  • การตรวจสอบประสิทธิภาพ: เรียกใช้ฟังก์ชันเมื่อการตรวจสอบประสิทธิภาพ ทริกเกอร์การแจ้งเตือน
  • Realtime Database: เรียกใช้ฟังก์ชันเมื่อมีการสร้าง อัปเดต หรือ ลบแล้ว
  • การกำหนดค่าระยะไกล: ทริกเกอร์ฟังก์ชันเมื่ออัปเดตพารามิเตอร์
  • Test Lab: เรียกใช้ฟังก์ชันเมื่อ Test Lab ทริกเกอร์การแจ้งเตือน

ทริกเกอร์บริการ Google Cloud

ส่วนขยายหนึ่งสามารถมีฟังก์ชันที่ทริกเกอร์ฟังก์ชันที่ไม่ใช่ Firebase หลายรายการได้ บริการ Google Cloud

  • Cloud Pub/Sub: ส่วนขยายสามารถมีฟังก์ชันที่ทริกเกอร์เมื่อ ระบบจะโพสต์เหตุการณ์ไปยังหัวข้อ Pub/Sub ที่กำหนดค่าได้
  • Cloud Scheduler: ส่วนขยายสามารถมีฟังก์ชันที่ทำงานในชุด ตารางการแข่งขัน
  • Cloud Tasks: ส่วนขยายอาจมีฟังก์ชันที่ใช้จัดคิวได้ Cloud Tasks Firebase Extensions ใช้ความสามารถนี้เพื่อให้คุณซึ่งเป็น ผู้เขียนส่วนขยาย เขียนฟังก์ชันที่ตอบสนองต่อ "วงจร" ของส่วนขยาย เหตุการณ์: กำลังติดตั้งในโปรเจ็กต์เป็นครั้งแรก กำลังอัปเกรดเป็น เวอร์ชันใหม่แล้วไปกำหนดค่าใหม่
  • Eventarc: ส่วนขยายสามารถมีฟังก์ชันที่ทริกเกอร์เมื่อเหตุการณ์ เผยแพร่ไปยังแชแนล Eventarc ที่กำหนดค่าได้ ในทางกลับกัน ส่วนขยาย สามารถเผยแพร่เหตุการณ์ของตนเองไปยังแชแนลของ Eventarc เพื่อให้ผู้ใช้ เพื่อกำหนดฟังก์ชันของตัวเองที่ทริกเกอร์จากเหตุการณ์ของส่วนขยาย

รองรับจากฟังก์ชัน

เมื่อมีการทริกเกอร์ Cloud Function ของส่วนขยายแล้ว ช่วงของค่าที่เป็นไปได้ การผสานรวมเป็นคำถามปลายเปิด มาดูไฮไลต์สิ่งที่คุณทำได้ จาก Cloud Function

  • อ่าน เขียน และโต้ตอบกับ Firebase หรือ Google Cloud บริการที่ บทบาท IAM ที่รองรับ
  • ทำงานร่วมกับบริการของบุคคลที่สามที่มีเว็บ API
  • ทำงานกับบริการที่กำหนดเองหากคุณมี API ของเว็บ
  • เรียกใช้ไลบรารี JavaScript ส่วนใหญ่ รวมถึง TensorFlow.js, Express.js เป็นต้น

วิธีสร้างส่วนขยาย

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

เริ่มต้นใช้งาน

หลังจากที่คุณทำตามคู่มือเริ่มต้นใช้งานเสร็จแล้ว คุณสามารถดูที่ คำแนะนำแต่ละหัวข้อ ซึ่งจะอธิบายงานแต่ละอย่างที่เกี่ยวข้องในการสร้าง ส่วนขยายของคุณเอง: