ภาพรวมสถาปัตยกรรม FCM

FCM อาศัยชุดคอมโพเนนต์ต่อไปนี้ในการสร้าง ส่ง และรับข้อความ

  1. เครื่องมือสำหรับเขียนหรือสร้างคำขอส่งข้อความ เครื่องมือแต่งการแจ้งเตือนมีตัวเลือก GUI สำหรับสร้างคำขอการแจ้งเตือน หากต้องการการทำงานอัตโนมัติทั้งหมดและรองรับข้อความทุกประเภท คุณจะต้องสร้างคําขอข้อความในสภาพแวดล้อมเซิร์ฟเวอร์ที่เชื่อถือได้ซึ่งรองรับ Firebase Admin SDK หรือโปรโตคอลเซิร์ฟเวอร์ FCM สภาพแวดล้อมนี้อาจเป็น Cloud Functions for Firebase, App Engine หรือเซิร์ฟเวอร์แอปของคุณเอง

    แผนภาพเลเยอร์สถาปัตยกรรม 3 เลเยอร์ตามที่อธิบายไว้ในหน้านี้

  2. แบ็กเอนด์ FCM ซึ่ง (นอกเหนือจากฟังก์ชันอื่นๆ) จะยอมรับคำขอข้อความ กระจายข้อความผ่านหัวข้อ และสร้างข้อมูลเมตาของข้อความ เช่น รหัสข้อความ

  3. เลเยอร์การขนส่งระดับแพลตฟอร์ม ซึ่งกำหนดเส้นทางข้อความไปยังอุปกรณ์เป้าหมาย จัดการการส่งข้อความ และใช้การกำหนดค่าเฉพาะแพลตฟอร์มตามความเหมาะสม เลเยอร์การขนส่งนี้ประกอบด้วย

    • เลเยอร์การขนส่ง Android (ATL) สำหรับอุปกรณ์ Android ที่มีบริการ Google Play
    • บริการข้อความ Push ของ Apple (APN) สําหรับอุปกรณ์ Apple
    • โปรโตคอล Web Push สําหรับเว็บแอป

  4. FCM SDK ในอุปกรณ์ของผู้ใช้ ซึ่งจะแสดงการแจ้งเตือนหรือจัดการข้อความตามสถานะเบื้องหน้า/เบื้องหลังของแอปและตรรกะแอปพลิเคชันที่เกี่ยวข้อง

ขั้นตอนวงจร

  • ลงทะเบียนอุปกรณ์เพื่อรับข้อความจาก FCM อินสแตนซ์ของแอปไคลเอ็นต์ลงทะเบียนเพื่อรับข้อความ โดยจะได้รับโทเค็นการลงทะเบียนที่ระบุอินสแตนซ์ของแอปนั้นๆ ที่ไม่ซ้ำกัน
  • ส่งและรับข้อความดาวน์สตรีม
    • ส่งข้อความ เซิร์ฟเวอร์แอปส่งข้อความไปยังแอปไคลเอ็นต์ ดังนี้
      1. ระบบจะเขียนข้อความในเครื่องมือเขียนข้อความหรือการแจ้งเตือนหรือในสภาพแวดล้อมที่เชื่อถือได้ และส่งคําขอข้อความไปยังแบ็กเอนด์ FCM
      2. แบ็กเอนด์ FCM จะได้รับคําขอข้อความ สร้างรหัสข้อความและข้อมูลเมตาอื่นๆ แล้วส่งไปยังเลเยอร์การขนส่งที่เจาะจงแพลตฟอร์ม
      3. เมื่ออุปกรณ์ออนไลน์อยู่ ระบบจะส่งข้อความไปยังอุปกรณ์ผ่านเลเยอร์การรับส่งเฉพาะแพลตฟอร์ม
      4. แอปไคลเอ็นต์จะรับข้อความหรือการแจ้งเตือนในอุปกรณ์