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

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

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

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

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

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

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

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

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

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

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

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

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

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

השלבים הבאים