การรับส่งข้อความหัวข้อ FCM ช่วยให้คุณสามารถส่งข้อความได้ ทั้งนี้ขึ้นอยู่กับรูปแบบการเผยแพร่/ติดตาม สำหรับอุปกรณ์หลายเครื่องที่เลือกเข้าร่วมหัวข้อหนึ่งๆ คุณเขียนข้อความหัวข้อในฐานะ และ FCM จะจัดการเรื่องการกำหนดเส้นทางและการส่งข้อความไปทางด้านขวามือ อุปกรณ์
ตัวอย่างเช่น ผู้ใช้ข่าวในท้องถิ่น แอปการคาดการณ์สามารถเลือกรับ "การแจ้งเตือนกระแสน้ำขึ้น-น้ำลง" หัวข้อและรับ การแจ้งเตือนสภาวะการประมงน้ำเค็มที่เหมาะสมในพื้นที่ที่ระบุ ผู้ใช้แอปกีฬา สามารถสมัครรับการอัปเดตอัตโนมัติสำหรับคะแนนการแข่งขันสดสำหรับ ทีม
สิ่งที่ควรทราบเกี่ยวกับหัวข้อมีดังนี้
ข้อความตามหัวข้อเหมาะสมที่สุดสำหรับเนื้อหา เช่น สภาพอากาศ หรือเนื้อหาอื่นๆ แบบสาธารณะ ที่มีอยู่
ข้อความหัวข้อจะได้รับการเพิ่มประสิทธิภาพเพื่ออัตราการส่งข้อมูลมากกว่าเวลาในการตอบสนอง เพื่อความรวดเร็ว การจัดส่งที่ปลอดภัยไปยังอุปกรณ์เดียวหรือกลุ่มเล็กๆ กำหนดเป้าหมายข้อความไปยังโทเค็นการลงทะเบียน ไม่ใช่หัวข้อ
หากต้องการส่งข้อความไปยังอุปกรณ์หลายเครื่องต่อผู้ใช้ โปรดพิจารณา การรับส่งข้อความกลุ่มอุปกรณ์ สำหรับกรณีการใช้งานเหล่านั้น
การรับส่งข้อความตามหัวข้อรองรับการสมัครใช้บริการแบบไม่จำกัดสำหรับแต่ละหัวข้อ อย่างไรก็ตาม FCM บังคับใช้ขีดจำกัดในด้านต่อไปนี้
- อินสแตนซ์ของแอป 1 รายการจะสมัครรับข้อมูลได้ไม่เกิน 2,000 หัวข้อ
- หากคุณใช้การนำเข้าแบบกลุ่ม เพื่อสมัครใช้บริการอินสแตนซ์แอป คำขอแต่ละรายการจะจำกัดอินสแตนซ์แอปไว้ที่ 1, 000 รายการ
- ระบบจะจำกัดอัตราความถี่ของการสมัครใช้บริการใหม่ต่อโปรเจ็กต์ หากคุณส่ง
มีการส่งคำขอสมัครสมาชิกมากเกินไปในช่วงเวลาสั้นๆ เซิร์ฟเวอร์ FCM จะ
ตอบกลับด้วยการตอบกลับ
429 RESOURCE_EXHAUSTED
("โควต้าเกิน") ลองใหม่ ด้วย Exponential Backoff
สมัครรับข้อมูลหัวข้อในแอปไคลเอ็นต์
แอปไคลเอ็นต์สามารถสมัครรับข้อมูลหัวข้อที่มีอยู่ หรือสามารถสร้างหัวข้อใหม่ หัวข้อ เมื่อแอปไคลเอ็นต์สมัครรับชื่อหัวข้อใหม่ (ประเภทที่ สำหรับโปรเจ็กต์ Firebase ของคุณ) หัวข้อใหม่ในชื่อนี้คือ ที่สร้างใน FCM และลูกค้าใดๆ สามารถสมัครรับข้อมูลในภายหลังได้
หากต้องการสมัครรับข้อมูลหัวข้อ ให้โทรหา subscribeToTopic()
พร้อมระบุชื่อหัวข้อ วิธีนี้
แสดงผล Future
ซึ่งจะแก้ไขเมื่อการสมัครใช้บริการสำเร็จ:
await FirebaseMessaging.instance.subscribeToTopic("topic");
หากต้องการยกเลิกการสมัคร ให้โทรหา unsubscribeFromTopic()
พร้อมชื่อหัวข้อ
ไม่รองรับ subscribeToTopic()
และ unsubscribeFromTopic()
บนเว็บ
ลูกค้า โปรดดูวิธีจัดการการสมัครใช้บริการสำหรับผู้ใช้เว็บที่หัวข้อ
ส่งข้อความถึงหัวข้อบน Web/JavaScript