เป้าหมายของเราคือการส่งทุกข้อความที่ส่งโดยใช้ FCM เสมอ อย่างไรก็ตาม การส่งทุกข้อความบางครั้งอาจส่งผลให้ประสบการณ์โดยรวมของผู้ใช้ไม่ดี ในกรณีอื่นๆ เราจำเป็นต้องกำหนดขอบเขตเพื่อให้มั่นใจว่า FCM จะให้บริการที่ปรับขนาดได้สำหรับผู้ส่งทุกคน ประเภทของขีดจำกัดและโควต้าที่อธิบายไว้ในส่วนนี้ช่วยให้เราสร้างสมดุลให้กับปัจจัยสำคัญเหล่านี้ได้
การควบคุมปริมาณข้อความขาออก
HTTP v1 API ได้เปิดตัวโควต้าต่อโปรเจ็กต์ต่อนาทีสำหรับการรับส่งข้อความขาออก โควต้าเริ่มต้นที่ 6 แสนข้อความต่อนาทีครอบคลุมนักพัฒนาแอปมากกว่า 99% ของ FCM ขณะเดียวกันก็ช่วยรักษาเสถียรภาพของระบบและ ลดผลกระทบของโปรเจ็กต์ที่มีการใช้งานสูงเป็นช่วงๆ
รูปแบบการเข้าชมที่สูงเป็นช่วงๆ อาจ
ทำให้เกิดข้อผิดพลาดเกี่ยวกับโควต้าที่เกิน ในสถานการณ์ที่โควต้าเกิน ระบบจะแสดงรหัสสถานะ HTTP 429 RESOURCE_EXHAUSTED ("QUOTA_EXCEEDED") จนกว่าโควต้าจะได้รับการเติมในนาทีถัดไป นอกจากนี้ ระบบยังอาจแสดงการตอบกลับ 429 ในสถานการณ์ที่มีการใช้งานมากเกินไป
ดังนั้นเราขอแนะนำให้คุณจัดการการตอบกลับ 429 ตาม
คำแนะนำที่เผยแพร่
ข้อควรทราบ
- โควต้าขาออกจะวัดจากข้อความ ไม่ใช่คำขอ
- ระบบจะนับข้อผิดพลาดของไคลเอ็นต์ (รหัสสถานะ HTTP 400-499) (ไม่รวม 429)
- โควต้าเป็นแบบต่อนาที แต่นาทีเหล่านี้ไม่ได้ตรงกับเวลาตามนาฬิกา
การตรวจสอบโควต้า
คุณดูโควต้า การใช้งาน และข้อผิดพลาดได้ในคอนโซล Google Cloud โดยทำดังนี้
ไปที่ Google Cloud คอนโซล
เลือก API และบริการ
เลือก Firebase Cloud Messaging API จากรายการตาราง
เลือกโควต้าและขีดจำกัดของระบบ
ขอเพิ่มโควต้า
ก่อนขอเพิ่มโควต้า ให้ตรวจสอบว่า
- การใช้งานของคุณอยู่ที่ ≥ 80% ของโควต้าเป็นประจำอย่างน้อย 5 นาทีติดต่อกันต่อวัน
- คุณมีอัตราส่วนข้อผิดพลาดของไคลเอ็นต์ < 5% โดยเฉพาะในช่วงที่มีการเข้าชมสูงสุด
- คุณปฏิบัติตามแนวทางปฏิบัติแนะนำสำหรับการส่ง ข้อความใน ปริมาณมาก
หากคุณมีคุณสมบัติตรงตามเกณฑ์เหล่านี้ คุณสามารถส่งคำขอเพิ่มโควต้าได้สูงสุด +25% ในคอนโซล Google Cloud โดยทำดังนี้
- ไปที่โควต้าและขีดจำกัดของระบบ
- เลือกแถวส่งคำขอต่อนาที จากตาราง
- คลิกปุ่มแก้ไข
- ทำตามวิธีการเพื่อส่งคำขอ
FCM จะพยายามอย่างเต็มที่เพื่อดำเนินการตามคำขอ (ไม่รับประกันว่าจะเพิ่มให้ได้ )
หากคุณต้องการโควต้าการรับส่งข้อความขาออกเพิ่มเติมเนื่องจากการเปิดตัวที่กำลังจะมาถึงหรือ กิจกรรมชั่วคราว คุณต้องส่งคำขอเพิ่มโควต้าผ่าน ทีมสนับสนุนของ Firebase ส่งคำขอโควต้าล่วงหน้าอย่างน้อย 15 วันเพื่อให้มีเวลาเพียงพอในการจัดการคำขอ สำหรับคำขอขนาดใหญ่ (>18 ล้านข้อความต่อนาที) คุณต้องแจ้งล่วงหน้าอย่างน้อย 30 วัน เราอนุมัติกิจกรรมโควต้าชั่วคราวได้เพียง 2 รายการต่อปี ระยะเวลารวมของโควต้าชั่วคราวตลอดทั้งปีต้องไม่เกิน 30 วัน คำขอเปิดตัวและคำขอสำหรับกิจกรรมพิเศษยังคงเป็นไปตามข้อกำหนดด้านอัตราส่วนข้อผิดพลาดของไคลเอ็นต์และแนวทางปฏิบัติแนะนำ
ดูข้อมูลเพิ่มเติมได้ที่FCM โควต้า
ขีดจำกัดของข้อความหัวข้อและการควบคุมปริมาณการส่งออก
ดูรายละเอียดเพิ่มเติมได้ที่โควต้าและ ขีดจำกัดของการรับส่งข้อความหัวข้อ
การควบคุมปริมาณข้อความแบบยุบได้
ตามที่อธิบายไว้ในข้อความแบบยุบได้, ข้อความแบบยุบได้คือการแจ้งเตือนที่ไม่มีเนื้อหาซึ่งออกแบบมาให้ยุบซ้อนกัน ในกรณีที่นักพัฒนาแอปส่งข้อความเดียวกันไปยังแอปบ่อยเกินไป เราจะหน่วงเวลาการส่งข้อความเพื่อลดผลกระทบต่อแบตเตอรี่ของผู้ใช้
ตัวอย่างเช่น หากคุณส่งคำขอซิงค์อีเมลใหม่จำนวนมากไปยังอุปกรณ์เครื่องเดียว เราอาจหน่วงเวลาคำขอซิงค์อีเมลถัดไปสัก 2-3 นาทีเพื่อให้อุปกรณ์ซิงค์ได้ในอัตราเฉลี่ยที่ต่ำลง การควบคุมปริมาณนี้ทำขึ้นเพื่อจำกัดผลกระทบต่อแบตเตอรี่ที่ผู้ใช้ได้รับเท่านั้น
หากกรณีการใช้งานของคุณต้องใช้รูปแบบการส่งแบบรวดเร็ว ข้อความแบบยุบไม่ได้อาจเป็นตัวเลือกที่เหมาะสม สำหรับข้อความดังกล่าว โปรดใส่เนื้อหาในข้อความเพื่อลดการใช้แบตเตอรี่
เราจำกัดข้อความแบบยุบได้ไว้ที่ 20 ข้อความต่อแอปต่ออุปกรณ์ โดยจะเติมข้อความ 1 ข้อความทุกๆ 3 นาที
อัตราข้อความสูงสุดไปยังอุปกรณ์เครื่องเดียว
สำหรับ Android คุณสามารถส่งข้อความไปยังอุปกรณ์เครื่องเดียวได้สูงสุด 240 ข้อความต่อนาทีและ 5,000 ข้อความต่อชั่วโมง เกณฑ์สูงนี้มีไว้เพื่ออนุญาตให้มีการเข้าชมแบบรวดเร็วในระยะสั้น เช่น เมื่อผู้ใช้โต้ตอบกันอย่างรวดเร็วผ่านการแชท ขีดจำกัดนี้จะป้องกันไม่ให้ข้อผิดพลาดในตรรกะการส่งทำให้แบตเตอรี่ของอุปกรณ์หมดโดยไม่ได้ตั้งใจ
สำหรับ iOS เราจะแสดงข้อผิดพลาดเมื่ออัตราเกินขีดจำกัดของ APNs