Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

กระทู้ข้อความใน Flutter

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

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

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

สิ่งที่ควรทราบเกี่ยวกับหัวข้อ:

  • การส่งข้อความตามหัวข้อเหมาะที่สุดสำหรับเนื้อหา เช่น สภาพอากาศ หรือข้อมูลที่เปิดเผยต่อสาธารณะอื่นๆ

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

  • หากคุณต้องการส่งข้อความไปยังอุปกรณ์หลายเครื่อง ต่อผู้ใช้ ให้พิจารณา การส่งข้อความกลุ่มอุปกรณ์ สำหรับกรณีการใช้งานเหล่านั้น

  • การส่งข้อความตามหัวข้อรองรับการสมัครสมาชิกไม่จำกัดสำหรับแต่ละหัวข้อ อย่างไรก็ตาม FCM บังคับใช้ขีดจำกัดในพื้นที่เหล่านี้:

    • หนึ่งอินสแตนซ์ของแอปสามารถสมัครได้ไม่เกิน 2,000 หัวข้อ
    • หากคุณใช้ การนำเข้าเป็นชุด เพื่อสมัครใช้งานอินสแตนซ์ของแอป คำขอแต่ละรายการจะถูกจำกัดที่ 1,000 อินสแตนซ์ของแอป
    • ความถี่ของการสมัครรับข้อมูลใหม่จะจำกัดอัตราต่อโปรเจ็กต์ หากคุณส่งคำขอสมัครรับข้อมูลมากเกินไปในช่วงเวลาสั้นๆ เซิร์ฟเวอร์ FCM จะตอบกลับด้วยการตอบกลับ 429 RESOURCE_EXHAUSTED ("เกินโควต้า") ลองใหม่ด้วยการถอยหลังแบบเอ็กซ์โปเนนเชียล

สมัครสมาชิกแอปไคลเอ็นต์ในหัวข้อ

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

หากต้องการสมัครหัวข้อ ให้โทร subscribeToTopic() ด้วยชื่อหัวข้อ วิธีนี้จะคืนค่า Future ซึ่งจะแก้ไขเมื่อการสมัครรับข้อมูลสำเร็จ:

await FirebaseMessaging.instance.subscribeToTopic("topic");

หากต้องการยกเลิกการสมัคร ให้โทรหา unsubscribeFromTopic() พร้อมระบุชื่อหัวข้อ

ขั้นตอนถัดไป