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

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

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

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

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

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

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

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

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

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

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

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

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

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

คุณจะต้องเลือกวิธีโต้ตอบกับเซิร์ฟเวอร์ FCM โดยใช้ Firebase Admin SDK หรือ HTTP v1 API ของ FCM 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 ดูรายละเอียดเกี่ยวกับตัวเลือกส่วนหัวและเนื้อหาได้ที่หัวข้อส่งข้อความโดยใช้ HTTP v1 API ของ FCM