สภาพแวดล้อมของเซิร์ฟเวอร์และ FCM

ฝั่งเซิร์ฟเวอร์ของ Firebase Cloud Messaging ประกอบด้วย 2 องค์ประกอบ ได้แก่

  • แบ็กเอนด์ FCM ที่ Google จัดหาให้
  • เซิร์ฟเวอร์แอปหรือสภาพแวดล้อมของเซิร์ฟเวอร์ที่เชื่อถือได้อื่นๆ ที่มีการเรียกใช้ตรรกะของเซิร์ฟเวอร์ เช่น Cloud Functions สำหรับ Firebase หรือสภาพแวดล้อมอื่นๆ ในระบบคลาวด์ที่ Google จัดการ

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

เมื่อใช้โปรโตคอลเซิร์ฟเวอร์แอป Firebase Admin SDK หรือ FCM คุณจะสร้างคำขอข้อความและส่งไปยังเป้าหมายประเภทต่อไปนี้ได้

  • ชื่อหัวข้อ
  • เงื่อนไข
  • FCM โทเค็นการลงทะเบียน
  • ชื่อกลุ่มอุปกรณ์ (เลิกใช้งานแล้ว จะนำออกในวันที่ 29 กันยายน 2027)

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

ข้อกำหนดสำหรับสภาพแวดล้อมเซิร์ฟเวอร์ที่เชื่อถือได้

สภาพแวดล้อมของเซิร์ฟเวอร์แอปต้องเป็นไปตามเกณฑ์ต่อไปนี้

  • ส่งคำขอแชทที่มีรูปแบบถูกต้องไปยังFCM แบ็กเอนด์ได้
  • สามารถจัดการคำขอและส่งคำขออีกครั้งโดยใช้ Exponential Backoff
  • จัดเก็บข้อมูลเข้าสู่ระบบการให้สิทธิ์เซิร์ฟเวอร์และโทเค็นการลงทะเบียนไคลเอ็นต์ได้อย่างปลอดภัย

ข้อมูลเข้าสู่ระบบที่จำเป็นสำหรับโปรเจ็กต์ Firebase

คุณอาจต้องใช้ข้อมูลเข้าสู่ระบบต่อไปนี้จากโปรเจ็กต์ Firebase ทั้งนี้ขึ้นอยู่กับFCMฟีเจอร์ที่คุณใช้

ข้อมูลเข้าสู่ระบบ คำอธิบาย
รหัสโปรเจ็กต์ ตัวระบุที่ไม่ซ้ำกันสำหรับโปรเจ็กต์ Firebase ที่ใช้ใน คำขอไปยังFCMปลายทาง HTTP v1 ค่านี้จะอยู่ในแผงการตั้งค่าของคอนโซล Firebase
โทเค็นการลงทะเบียน สตริงโทเค็นที่ไม่ซ้ำกันซึ่งระบุอินสแตนซ์ของแอปไคลเอ็นต์แต่ละรายการ โทเค็นการลงทะเบียนจำเป็นสำหรับการส่งข้อความไปยังอินสแตนซ์ของแอปเดียวและกลุ่มอุปกรณ์ โปรดทราบว่า ต้องเก็บโทเค็นการลงทะเบียนไว้เป็นความลับ
รหัสผู้ส่ง ค่าตัวเลขที่ไม่ซ้ำกันซึ่งสร้างขึ้นเมื่อคุณสร้างโปรเจ็กต์ Firebase โดยจะอยู่ในแท็บ Cloud Messaging ของแผงการตั้งค่าในคอนโซล Firebase รหัสผู้ส่งจะเหมือนกับหมายเลขโปรเจ็กต์ ระบบจะใช้รหัสผู้ส่ง เพื่อระบุผู้ส่งแต่ละรายที่ส่งข้อความ ไปยังแอปไคลเอ็นต์ได้
โทเค็นเพื่อการเข้าถึง โทเค็น OAuth 2.0 ที่มีอายุสั้นซึ่งให้สิทธิ์คำขอ ไปยัง HTTP v1 API โทเค็นนี้เชื่อมโยงกับ บัญชีบริการที่เป็นของโปรเจ็กต์ Firebase หากต้องการสร้างและหมุนเวียนโทเค็นเพื่อการเข้าถึง ให้ทำตามขั้นตอน ที่อธิบายไว้ในให้สิทธิ์คำขอส่ง

เลือกตัวเลือกเซิร์ฟเวอร์

คุณจะต้องตัดสินใจเลือกวิธีโต้ตอบกับเซิร์ฟเวอร์ FCM ไม่ว่าจะใช้ Firebase Admin SDK หรือ FCM HTTP v1 API Firebase Admin SDK เป็นวิธีที่แนะนำเนื่องจากรองรับภาษาโปรแกรมยอดนิยมและมีวิธีที่สะดวก ในการจัดการการตรวจสอบสิทธิ์และการให้สิทธิ์

ตัวเลือกในการโต้ตอบกับเซิร์ฟเวอร์ FCM มีดังนี้

Firebase Admin SDK

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

  • ส่งข้อความไปยังอินสแตนซ์ของแอปแต่ละรายการ
  • ส่งข้อความไปยังหัวข้อและคำสั่งเงื่อนไขที่ตรงกับหัวข้ออย่างน้อย 1 รายการ
  • ส่งข้อความไปยังกลุ่มอุปกรณ์
  • ติดตามและเลิกติดตามอินสแตนซ์ของแอปไปยังและจากหัวข้อ
  • สร้างเพย์โหลดข้อความที่ปรับให้เหมาะกับแพลตฟอร์มเป้าหมายต่างๆ

หากต้องการตั้งค่า Firebase Admin SDK โปรดดูเพิ่ม Firebase Admin SDK ลงในเซิร์ฟเวอร์ หากมีโปรเจ็กต์ Firebase อยู่แล้ว ให้เริ่มต้นด้วยเพิ่ม SDK นอกจากนี้ อย่าลืมเปิดใช้ Firebase Cloud Messaging API (V1) ในหน้าการตั้งค่า Cloud Messaging สำหรับโปรเจ็กต์ของคุณด้วย จากนั้นเมื่อติดตั้ง Firebase Admin SDK แล้ว คุณจะเริ่มเขียนตรรกะเพื่อสร้างคำขอส่งได้

FCM HTTP v1 API

FCM มี FCM HTTP v1 API สำหรับนักพัฒนาซอฟต์แวร์ที่ต้องการใช้ โปรโตคอลเซิร์ฟเวอร์ดิบ

หากต้องการส่งข้อความ เซิร์ฟเวอร์แอปจะออกคำขอ POST พร้อมส่วนหัว HTTP และเนื้อหา HTTP ที่ประกอบด้วยคู่คีย์-ค่า JSON ดูรายละเอียดเกี่ยวกับตัวเลือกส่วนหัวและเนื้อหาได้ที่ส่งข้อความโดยใช้ FCM HTTP v1 API