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

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

การควบคุมปริมาณข้อความดาวน์สตรีม

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

รูปแบบการเข้าชมที่พุ่งสูงขึ้นอาจส่งผลให้เกิดข้อผิดพลาดเกินโควต้า ในกรณีที่เกินโควต้า ระบบจะแสดงรหัสสถานะ 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 เราจะแสดงข้อผิดพลาดเมื่ออัตราเกินขีดจำกัดของ APN