การควบคุมและโควต้าของ FCM

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

การควบคุมปริมาณข้อความขาลง

HTTP v1 API ได้เปิดตัวโควต้าต่อโปรเจ็กต์ต่อนาทีสำหรับการรับส่งข้อความขาลง โควต้าเริ่มต้นที่ 6 แสนข้อความต่อนาทีครอบคลุมนักพัฒนาแอปมากกว่า 99% ของ FCM ขณะเดียวกันก็ช่วยรักษาเสถียรภาพของระบบและ ลดผลกระทบของโปรเจ็กต์ที่มีการใช้งานสูงเป็นช่วงๆ

รูปแบบการเข้าชมที่สูงเป็นช่วงๆ อาจ ทำให้เกิดข้อผิดพลาดเกินโควต้า ในสถานการณ์ที่เกินโควต้า ระบบจะแสดงรหัสสถานะ HTTP 429 RESOURCE_EXHAUSTED ("QUOTA_EXCEEDED") จนกว่าโควต้าจะได้รับการเติมในนาทีถัดไป นอกจากนี้ ระบบยังอาจแสดงการตอบกลับ 429 ในสถานการณ์ที่มีการใช้งานมากเกินไป ดังนั้นเราขอแนะนำให้คุณจัดการการตอบกลับ 429 ตาม คำแนะนำที่เผยแพร่

ข้อควรทราบ

  • โควต้าขาลงจะวัดจากข้อความ ไม่ใช่คำขอ
  • ระบบจะนับข้อผิดพลาดของไคลเอ็นต์ (รหัสสถานะ HTTP 400-499) (ไม่รวม 429)
  • โควต้าเป็นแบบต่อนาที แต่นาทีเหล่านี้ไม่ได้ตรงกับเวลาจริง

การตรวจสอบโควต้า

คุณสามารถดูโควต้า การใช้งาน และข้อผิดพลาดในคอนโซล Google Cloud ได้โดยทำดังนี้

  1. ไปที่ Google Cloud คอนโซล

  2. เลือก API และบริการ

  3. เลือก Firebase Cloud Messaging API จากรายการตาราง

  4. เลือกโควต้าและขีดจำกัดของระบบ

ขอเพิ่มโควต้า

ก่อนขอเพิ่มโควต้า โปรดตรวจสอบว่า

  • การใช้งานของคุณสูงกว่าหรือเท่ากับ 80% ของโควต้าเป็นประจำอย่างน้อย 5 นาทีติดต่อกันต่อวัน
  • อัตราข้อผิดพลาดของไคลเอ็นต์ของคุณน้อยกว่า 5% โดยเฉพาะในช่วงที่มีการเข้าชมสูงสุด
  • คุณปฏิบัติตามแนวทางปฏิบัติแนะนำสำหรับการส่ง ข้อความใน ปริมาณมาก

หากคุณมีคุณสมบัติตรงตามเกณฑ์เหล่านี้ คุณสามารถส่งคำขอเพิ่มโควต้าสูงสุด +25% ในคอนโซล Google Cloud โดยใช้ขั้นตอนต่อไปนี้

  1. ไปที่โควต้าและขีดจำกัดของระบบ
  2. เลือกแถวส่งคำขอต่อนาที จากตาราง
  3. คลิกปุ่มแก้ไข
  4. ทำตามวิธีการเพื่อส่งคำขอ

FCM จะพยายามอย่างเต็มที่เพื่อดำเนินการตามคำขอ (ไม่รับประกันว่าจะเพิ่มให้ได้ )

หากคุณต้องการโควต้าการรับส่งข้อความขาลงเพิ่มเติมเนื่องจากการเปิดตัวที่กำลังจะมาถึงหรือ กิจกรรมชั่วคราว คุณต้องส่งคำขอเพิ่มโควต้าผ่าน ทีมสนับสนุนของ Firebase ส่งคำขอโควต้าล่วงหน้าอย่างน้อย 15 วันเพื่อให้มีเวลาเพียงพอในการจัดการคำขอ สำหรับคำขอขนาดใหญ่ (>18 ล้านข้อความต่อนาที) คุณต้องแจ้งล่วงหน้าอย่างน้อย 30 วัน เราอนุมัติกิจกรรมโควต้าชั่วคราวได้เพียง 2 รายการต่อปี ระยะเวลารวมของโควต้าชั่วคราวตลอดทั้งปีต้องไม่เกิน 30 วัน คำขอเปิดตัวและคำขอสำหรับกิจกรรมพิเศษยังคงเป็นไปตามข้อกำหนดด้านอัตราข้อผิดพลาดของไคลเอ็นต์และแนวทางปฏิบัติแนะนำ

ดูข้อมูลเพิ่มเติมได้ที่FCM โควต้า

ขีดจำกัดของข้อความหัวข้อและการควบคุมปริมาณการส่งข้อความไปยังอุปกรณ์หลายเครื่อง

ดูรายละเอียดเพิ่มเติมได้ที่โควต้าและ ขีดจำกัดการรับส่งข้อความหัวข้อ

การควบคุมปริมาณข้อความแบบยุบได้

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

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

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

เราจำกัดข้อความแบบยุบได้ไว้ที่ 20 ข้อความต่อแอปต่ออุปกรณ์ โดยจะเติมข้อความ 1 ข้อความทุกๆ 3 นาที

อัตราข้อความสูงสุดที่ส่งไปยังอุปกรณ์เครื่องเดียว

สำหรับ Android คุณสามารถส่งข้อความไปยังอุปกรณ์เครื่องเดียวได้สูงสุด 240 ข้อความต่อนาทีและ 5,000 ข้อความต่อชั่วโมง เกณฑ์สูงนี้มีไว้เพื่อรองรับการเข้าชมที่สูงเป็นช่วงๆ ในระยะสั้น เช่น เมื่อผู้ใช้โต้ตอบกันอย่างรวดเร็วผ่านการแชท ขีดจำกัดนี้จะป้องกันไม่ให้ข้อผิดพลาดในตรรกะการส่งทำให้แบตเตอรี่ของอุปกรณ์หมดโดยไม่ได้ตั้งใจ

สำหรับ iOS เราจะแสดงข้อผิดพลาดเมื่ออัตราการส่งเกินขีดจำกัดของ APNs