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

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

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

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

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

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

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

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

โฟลว์วงจร

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