ภาพรวมสถาปัตยกรรม 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 (APNs) สำหรับอุปกรณ์ Apple
    • โปรโตคอลการแจ้งเตือนแบบพุชบนเว็บสำหรับเว็บแอป

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

โฟลว์วงจร

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