הודעות בנושאים

העברת הודעות לפי נושאים ב-FCM מאפשרת לשלוח הודעה למספר מכשירים שהביעו הסכמה לנושא מסוים. אתם יוצרים הודעות בנושאים לפי הצורך, ו-FCM מטפל בניתוב ובשליחה של ההודעה למכשירים הנכונים באופן מהימן.

נקודות חשובות לגבי העברת הודעות לפי נושאים:

  • הכי מתאים למידע שזמין לציבור, כמו התראות על מזג האוויר.
  • הודעות בנושאים עוברות אופטימיזציה לקצב העברת נתונים ולא לזמן אחזור. כדי לשלוח הודעות במהירות ובאופן מאובטח למכשירים בודדים או לקבוצות קטנות, הגדירו טוקנים של רישום במקום נושאים.

מכסות ומגבלות

העברת הודעות לפי נושאים תומכת במספר בלתי מוגבל של מינויים לכל נושא. עם זאת, ב-FCM יש מגבלות בתחומים הבאים:

  • מופע אחד של אפליקציה יכול להיות רשום ל-2,000 נושאים לכל היותר.
  • אם אתם משתמשים במינוי באצווה כדי להוסיף מינויים למופעי אפליקציה, כל בקשה מוגבלת ל-1,000 מופעי אפליקציה.

הגבלת קצב העברת הנתונים של המינוי

הקצב של הוספה או הסרה של מינויים לנושאים מוגבל ל-3,000 QPS לכל פרויקט.

תדירות המינויים החדשים מוגבלת לכל פרויקט. אם תשלחו יותר מדי בקשות להרשמה בפרק זמן קצר, השרתים של FCM יחזירו את התגובה 429 RESOURCE_EXHAUSTED ("QUOTA_EXCEEDED"). נסו שוב עם השהיה מעריכית לפני ניסיון חוזר (exponential backoff).

ויסות נתונים (throttle) של Fanout

הפצת הודעות היא תהליך של שליחת הודעה למספר מכשירים, למשל כשמטרגטים נושאים וקבוצות, או כשמשתמשים בניסוח מסרים (Notifications Composer) כדי לטרגט קהלי יעד או פלחי משתמשים.

הפצת ההודעות לא מתבצעת באופן מיידי, ולכן לפעמים יש כמה הפצות שמתבצעות בו-זמנית. אנחנו מגבילים את מספר ההפצות של הודעות בו-זמנית ל-1,000 לכל פרויקט. אחרי זה, יכול להיות שנדחה בקשות נוספות להפצה או שנעכב את ההפצה של הבקשות עד שחלק מההפצות שכבר מתבצעות יושלמו.

קצב הפיצול בפועל מושפע ממספר הפרויקטים שמבקשים פיצול בו-זמנית. קצב פיזור של 10,000‎ QPS לפרויקט בודד הוא לא דבר נדיר, אבל המספר הזה לא מובטח והוא תוצאה של העומס הכולל על המערכת. חשוב לציין שקיבולת ה-fanout הזמינה מחולקת בין הפרויקטים ולא בין בקשות ה-fanout. לכן, אם בפרויקט יש שתי פעולות fanout בתהליך, כל אחת מהן תראה רק חצי מקצב ה-fanout הזמין. כדי למקסם את מהירות ההפצה, מומלץ להפעיל רק הפצה אחת בכל פעם.

השלבים הבאים