การรับส่งข้อความกลุ่มของอุปกรณ์ช่วยให้คุณเพิ่มอุปกรณ์หลายเครื่องลงในกลุ่มเดียวได้ ซึ่งคล้ายกับการรับส่งข้อความตามหัวข้อ แต่จะมีการตรวจสอบสิทธิ์เพื่อให้มั่นใจว่า การเป็นสมาชิกกลุ่มได้รับการจัดการโดยเซิร์ฟเวอร์ของคุณเท่านั้น ตัวอย่างเช่น หากต้องการส่งข้อความที่แตกต่างกันไปยังโทรศัพท์รุ่นต่างๆ เซิร์ฟเวอร์จะเพิ่ม/นำการลงทะเบียนออกจากกลุ่มที่เหมาะสมและส่งข้อความที่เหมาะสมไปยังแต่ละกลุ่มได้ การรับส่งข้อความกลุ่มอุปกรณ์แตกต่างจากการรับส่งข้อความตามหัวข้อตรงที่การรับส่งข้อความกลุ่มอุปกรณ์เกี่ยวข้องกับการจัดการกลุ่มอุปกรณ์จากเซิร์ฟเวอร์แทนที่จะจัดการภายในแอปพลิเคชันโดยตรง
จำนวนสมาชิกสูงสุดที่อนุญาตสำหรับคีย์การแจ้งเตือนคือ 20 คน
การจัดการกลุ่มอุปกรณ์
ก่อนที่จะส่งข้อความไปยังกลุ่มอุปกรณ์ คุณต้องดำเนินการดังนี้
-
รับโทเค็นการลงทะเบียนสำหรับอุปกรณ์แต่ละเครื่องที่ต้องการเพิ่มลงในกลุ่ม
-
สร้าง
notification_key
ซึ่งระบุ กลุ่มอุปกรณ์ได้ด้วยการจับคู่กลุ่มที่เจาะจง (โดยทั่วไปจะเป็น user) กับโทเค็นการลงทะเบียนที่เกี่ยวข้องทั้งหมดของกลุ่ม คุณสร้างคีย์การแจ้งเตือนในเซิร์ฟเวอร์ของแอปได้
การจัดการกลุ่มอุปกรณ์ขั้นพื้นฐาน เช่น การสร้างและนำกลุ่มออก และการเพิ่มหรือนำอุปกรณ์ออกจะดำเนินการผ่าน HTTP v1 API การใช้โทเค็นที่มีอายุสั้นเพื่อ ให้สิทธิ์ส่งคำขอ โปรดดู คีย์การจัดการกลุ่มอุปกรณ์สำหรับรายการคีย์ที่รองรับ
การจัดการกลุ่มอุปกรณ์บนเซิร์ฟเวอร์แอป
การสร้างกลุ่มอุปกรณ์
หากต้องการสร้างกลุ่มอุปกรณ์ ให้ส่งคำขอ POST ที่มีชื่อ
สำหรับกลุ่ม และรายการโทเค็นการลงทะเบียนสำหรับอุปกรณ์
FCM แสดงผล notification_key
ใหม่
ที่แสดงถึงกลุ่มอุปกรณ์
คำขอ HTTP POST
ส่งคําขอดังต่อไปนี้ถึง https://fcm.googleapis.com/fcm/notification
https://fcm.googleapis.com/fcm/notification Content-Type:application/json access_token_auth: true Authorization: Bearer ya29.ElqKBGN2Ri_Uz...HnS_uNreA project_id:SENDER_ID { "operation": "create", "notification_key_name": "appUser-Chris", "registration_ids": ["bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...", "cR1rjyj4_Kc:APA91bGusqbypSuMdsh7jSNrW4nzsM...", ... ]
notification_key_name
คือชื่อหรือตัวระบุ (เช่น ชื่อผู้ใช้) ที่ไม่ซ้ำกันสำหรับกลุ่มหนึ่งๆ notification_key_name
และ notification_key
จะใช้กับกลุ่มโทเค็นการลงทะเบียนได้เพียงกลุ่มเดียว สิ่งสำคัญคือ notification_key_name
สำหรับแอปไคลเอ็นต์
หากคุณมีแอปไคลเอ็นต์หลายแอป
รหัสผู้ส่ง
วิธีนี้ช่วยให้มั่นใจว่าข้อความจะไปยังแอปเป้าหมายที่ต้องการเท่านั้น
รูปแบบคำตอบ
คำขอที่สำเร็จแสดงผลเป็นการกดชอบ notification_key
ดังต่อไปนี้
{ "notification_key": "APA91bGHXQBB...9QgnYOEURwm0I3lmyqzk2TXQ" }
บันทึก notification_key
และ
notification_key_name
เพื่อใช้ในการดำเนินการครั้งต่อๆ ไป
กำลังเรียกคีย์การแจ้งเตือน
หากคุณต้องการเรียกคีย์การแจ้งเตือนที่มีอยู่ ให้ใช้
notification_key_name
ในคำขอ GET ดังที่แสดงด้านล่างนี้
https://fcm.googleapis.com/fcm/notification?notification_key_name=appUser-Chris Content-Type:application/json access_token_auth: true Authorization: Bearer ya29.ElqKBGN2Ri_Uz...HnS_uNreA project_id:SENDER_ID {}
สำหรับคำขอ GET แต่ละรายการสำหรับชื่อคีย์การแจ้งเตือนหนึ่งๆ เซิร์ฟเวอร์ จะแสดงผลสตริงที่เข้ารหัสที่ไม่ซ้ำ แม้ว่าสตริงแต่ละรายการอาจดูเหมือนเป็นคีย์ที่แตกต่างกัน แต่จริงๆ แล้วคือค่า `notification_key` ที่ถูกต้อง
การเพิ่มและการนำอุปกรณ์ออกจากกลุ่มอุปกรณ์
หากต้องการเพิ่มหรือนำอุปกรณ์ออกจากกลุ่มที่มีอยู่ ให้ส่ง POST
คำขอที่มีการตั้งค่าพารามิเตอร์ operation
เป็น
add
หรือ remove
และระบุ
โทเค็นการลงทะเบียนสำหรับเพิ่มหรือนำออก
คำขอ HTTP POST
เช่น หากต้องการเพิ่ม
อุปกรณ์ที่มีโทเค็นการลงทะเบียน bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...
ถึง appUser-Chris
คุณจะต้องส่งคำขอนี้
{
"operation": "add",
"notification_key_name": "appUser-Chris",
"notification_key": "APA91bGHXQBB...9QgnYOEURwm0I3lmyqzk2TXQ",
"registration_ids": ["bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1..."]
}
รูปแบบคำตอบ
คำขอเพิ่มหรือนำอุปกรณ์ออกที่ดำเนินการสำเร็จจะแสดงnotification_key
ดังต่อไปนี้
{ "notification_key": "APA91bGHXQBB...9QgnYOEURwm0I3lmyqzk2TXQ" }
คีย์การจัดการกลุ่มอุปกรณ์
ตารางต่อไปนี้แสดงคีย์สำหรับการสร้างกลุ่มอุปกรณ์ ตลอดจนการเพิ่มและนำสมาชิกออก
พารามิเตอร์ | การใช้งาน | คำอธิบาย |
---|---|---|
operation |
ต้องระบุ, สตริง | การดำเนินการที่จะเรียกใช้ ค่าที่ใช้ได้คือ create ,
add และ remove |
notification_key_name |
ต้องระบุ สตริง | ชื่อที่ผู้ใช้กำหนดของกลุ่มอุปกรณ์ที่จะสร้างหรือแก้ไข |
notification_key |
ต้องระบุ (ยกเว้นการดำเนินการ create , สตริง |
ตัวระบุที่ไม่ซ้ำกันของกลุ่มอุปกรณ์ ค่านี้
แสดงผลในการตอบกลับสำหรับ create ที่สำเร็จ
และเป็น
ซึ่งจำเป็นสำหรับการดำเนินการครั้งต่อๆ ไปทั้งหมดในกลุ่มอุปกรณ์ |
registration_ids |
ต้องระบุ อาร์เรย์ของสตริง | โทเค็นอุปกรณ์ที่จะเพิ่มหรือนำออก หากคุณนำรายการที่มีอยู่ออกทั้งหมด โทเค็นการลงทะเบียนจากกลุ่มอุปกรณ์ FCM จะลบกลุ่มอุปกรณ์ |
การส่งข้อความดาวน์สตรีมไปยังกลุ่มอุปกรณ์
หากต้องการส่งข้อความไปยังกลุ่มอุปกรณ์ ให้ใช้ HTTP v1 API หากขณะนี้คุณ การส่งไปยังกลุ่มอุปกรณ์โดยใช้ API การส่งแบบเดิมที่เลิกใช้งานแล้วสำหรับ HTTP หรือ XMPP หรือเวอร์ชันที่เก่ากว่าของ Firebase Admin SDK สำหรับ Node.js เมื่อพิจารณาโปรโตคอลเดิม เราขอแนะนำให้คุณ ย้ายข้อมูลไปยัง HTTP v1 API โดยเร็วที่สุด API การส่งแบบเดิม จะถูกปิดใช้และนําออกในเดือนมิถุนายน 2024
การส่งข้อความไปยังกลุ่มอุปกรณ์คล้ายกับการส่ง
ไปยังอุปกรณ์แต่ละเครื่อง โดยใช้วิธีการเดียวกันในการ
ให้สิทธิ์ส่งคำขอ ตั้งค่าช่อง token
เป็นคีย์การแจ้งเตือนกลุ่ม ดังนี้
REST
POST https://fcm.googleapis.com/v1/projects/myproject-b5ae1/messages:send HTTP/1.1
Content-Type: application/json
Authorization: Bearer ya29.ElqKBGN2Ri_Uz...HnS_uNreA
{
"message":{
"token":"APA91bGHXQBB...9QgnYOEURwm0I3lmyqzk2TXQ",
"data":{
"hello": "This is a Firebase Cloud Messaging device group message!"
}
}
}
คำสั่ง cURL
curl -X POST -H "Authorization: Bearer ya29.ElqKBGN2Ri_Uz...HnS_uNreA" -H "Content-Type: application/json" -d '{
"message":{
"data":{
"hello": "This is a Firebase Cloud Messaging device group message!"
},
"token":"APA91bGHXQBB...9QgnYOEURwm0I3lmyqzk2TXQ"
}}' https://fcm.googleapis.com/v1/projects/myproject-b5ae1/messages:send
การส่งข้อความขาขึ้นไปยังกลุ่มอุปกรณ์
แอปไคลเอ็นต์จะส่งข้อความอัปสตรีมไปยังกลุ่มอุปกรณ์ได้โดยทำดังนี้
ข้อความที่กำหนดเป้าหมายไปยังคีย์การแจ้งเตือนที่เหมาะสมใน
to
การเรียกใช้ FCM ต่อไปนี้จะส่งข้อความขาขึ้นไปยังคีย์การแจ้งเตือน
Firebase.Messaging.Message message; message.To = notification_key; message.MessageId = a_unique_message_id; message.Data["hello"] = "world"; Firebase.Messaging.FirebaseMessaging.Send(message);