การรับส่งข้อความกลุ่มอุปกรณ์ช่วยให้คุณเพิ่มอุปกรณ์หลายเครื่องลงในกลุ่มเดียวได้ ซึ่งคล้ายกับการรับส่งข้อความตามหัวข้อ แต่จะมีการตรวจสอบสิทธิ์เพื่อให้มั่นใจว่า การเป็นสมาชิกกลุ่มได้รับการจัดการโดยเซิร์ฟเวอร์ของคุณเท่านั้น ตัวอย่างเช่น หากคุณต้องการ ส่งข้อความที่แตกต่างกันไปยังโทรศัพท์รุ่นต่างๆ เซิร์ฟเวอร์ของคุณจะสามารถเพิ่ม/นำออกได้ ลงทะเบียนไปยังกลุ่มที่เหมาะสม และส่งข้อความที่เหมาะสมให้ กลุ่ม การรับส่งข้อความกลุ่มอุปกรณ์จะแตกต่างจากข้อความตามหัวข้อซึ่งเกี่ยวข้องกับ จัดการกลุ่มอุปกรณ์จากเซิร์ฟเวอร์ของคุณ แทนที่จะจัดการภายใน แอปพลิเคชัน
จำนวนสมาชิกสูงสุดที่อนุญาตสำหรับคีย์การแจ้งเตือนคือ 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
การส่งข้อความอัปสตรีมไปยังกลุ่มอุปกรณ์
หากต้องการส่งข้อความอัปสตรีมไปยังกลุ่มอุปกรณ์ในแอป Apple ไคลเอ็นต์ Apple ที่จำเป็นต้องใช้งาน FIRMessaging.sendMessage
(void)sendMessage:(nonnull NSDictionary *)message to:(nonnull NSString *)receiver withMessageID:(nonnull NSString *)messageID timeToLive:(int64_t)ttl;