เป้าหมายของเราคือการส่งข้อความทุกข้อความที่ส่งโดยใช้ FCM เสมอ อย่างไรก็ตาม การส่งข้อความทุกข้อความบางครั้งอาจส่งผลให้ผู้ใช้ได้รับประสบการณ์การใช้งานโดยรวมที่ไม่ดี ในกรณีอื่นๆ เราจำเป็นต้องกำหนดขอบเขตเพื่อให้มั่นใจว่า FCM จะให้บริการที่ปรับขนาดได้สำหรับผู้ส่งทั้งหมด ประเภทของขีดจำกัดและโควต้าที่อธิบายไว้ในส่วนนี้ช่วยให้เราสร้างสมดุลระหว่างปัจจัยสำคัญเหล่านี้ได้
การควบคุมปริมาณข้อความดาวน์สตรีม
HTTP v1 API มีโควต้าต่อโปรเจ็กต์ต่อนาทีสำหรับการรับส่งข้อความดาวน์สตรีม โควต้าเริ่มต้นที่ 600,000 ข้อความต่อนาทีครอบคลุมนักพัฒนาแอป FCM มากกว่า 99% พร้อมทั้งปกป้องความเสถียรของระบบและลดผลกระทบจากโปรเจ็กต์ที่มีการใช้งานพุ่งสูงขึ้นอย่างรวดเร็ว
รูปแบบการเข้าชมที่พุ่งสูงขึ้นอาจส่งผลให้เกิดข้อผิดพลาดเกินโควต้า ในกรณีที่เกินโควต้า ระบบจะแสดงรหัสสถานะ 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 เราจะแสดงข้อผิดพลาดเมื่ออัตราเกินขีดจำกัดของ APN