FCM שליחת הודעות לפי נושא מאפשרת לשלוח הודעה לכמה מכשירים שהמשתמשים שלהם הצטרפו לנושא מסוים. אתם כותבים הודעות בנושאים לפי הצורך, ואילו FCM מטפל בהעברה ובשליחה של ההודעה בצורה אמינה למכשירים הנכונים.
נקודות חשובות לגבי שליחת הודעות בנושאים:
- הכי מתאים למידע שזמין לציבור, כמו התראות על מזג האוויר.
- הודעות בנושאים עוברות אופטימיזציה לתפוקה ולא לזמן אחזור. כדי לשלוח הודעות במהירות ובאופן מאובטח למכשירים בודדים או לקבוצות קטנות, מטרגטים את ההודעות לטוקנים של רישום במקום לנושאים.
מכסות ומגבלות
הודעות בנושא תומכות במספר בלתי מוגבל של מינויים לכל נושא. עם זאת, FCM אוכף מגבלות בתחומים הבאים:
- כל מופע של אפליקציה יכול להירשם לעד 2,000 נושאים.
- אם אתם משתמשים במינוי בכמות גדולה כדי להירשם למופעי אפליקציה, כל בקשה מוגבלת ל-1,000 מופעי אפליקציה.
הגבלת קצב הבקשות במינוי
הקצב להוספה או להסרה של מינויים לנושאים מוגבל ל-3,000 בקשות לשנייה לכל פרויקט.
יש הגבלת קצב ליצירת מינויים חדשים לכל פרויקט. אם תשלחו יותר מדי בקשות להרשמה בפרק זמן קצר, השרתים של FCM ישיבו עם תגובה 429 RESOURCE_EXHAUSTED ("QUOTA_EXCEEDED"). ניסיון חוזר עם השהיה מעריכית לפני ניסיון חוזר (exponential backoff).
ויסות נתונים של Fanout
הפצת הודעות היא תהליך של שליחת הודעה לכמה מכשירים, למשל כשמטרגטים נושאים וקבוצות, או כשמשתמשים בכלי ליצירת התראות כדי לטרגט קהלים או פלחים של משתמשים.
הפצת ההודעה לא מתבצעת באופן מיידי, ולכן לפעמים מתבצעות כמה הפצות במקביל. מספר ההודעות שמופצות בו-זמנית לכל פרויקט מוגבל ל-1,000. לאחר מכן, יכול להיות שנדחה בקשות נוספות של fanout או שנדחה את ה-fanout של הבקשות עד שחלק מהבקשות שכבר נמצאות בתהליך יסתיימו.
שיעור הפיצול בפועל מושפע ממספר הפרויקטים שמבקשים פיצולים בו-זמנית. קצב פיצול של 10,000 שאילתות לשנייה לפרויקט בודד הוא לא נדיר, אבל המספר הזה לא מובטח והוא תוצאה של העומס הכולל על המערכת. חשוב לציין שהקיבולת הזמינה של ה-fanout מחולקת בין הפרויקטים ולא בין בקשות ה-fanout. לכן, אם בפרויקט יש שני fanout בתהליך, כל fanout יראה רק חצי מהקצב הזמין של fanout. הדרך המומלצת למקסם את מהירות ההפצה היא להפעיל רק הפצה אחת בכל פעם.
השלבים הבאים
- איך מנהלים מינויים לנושאים באמצעות SDK לאדמינים או מאפליקציית הלקוח.
- איך שולחים הודעות לנושאים באמצעות SDK לאדמינים או FCM v1 HTTP API