על סמך מודל הפרסום/הרשמה, שליחת הודעות לפי נושא ב-FCM מאפשרת לכם לשלוח הודעה לכמה מכשירים שהביעו הסכמה לקבלת הודעות בנושא מסוים. אתם כותבים את ההודעות לנושאים לפי הצורך, ו-FCM מטפל בניתוב ובמסירה מהימנה של ההודעה למכשירים הנכונים.
לדוגמה, משתמשים באפליקציה מקומית לחיזוי גאות ושפל יכולים להביע הסכמה לקבלת התראות בנושא 'זרמי גאות ושפל' ולקבל התראות על תנאים אופטימליים לדיג במים מלוחים באזורים מסוימים. משתמשים באפליקציית ספורט יכולים להירשם לקבלת עדכונים אוטומטיים על תוצאות של משחקים בשידור חי של הקבוצות האהובות עליהם.
כמה דברים שכדאי לזכור לגבי נושאים:
העברת הודעות לפי נושא מתאימה במיוחד לתוכן כמו מזג האוויר או מידע אחר שזמין לכולם.
הודעות בנושאים מותאמות לזרימת נתונים ולא לזמן אחזור. כדי לשלוח הודעות במהירות ובבטחה למכשירים בודדים או לקבוצות קטנות של מכשירים, מטרגטים את ההודעות לטוקני רישום ולא לנושאים.
אם אתם צריכים לשלוח הודעות לכמה מכשירים לכל משתמש, כדאי לכם להשתמש בהודעות לקבוצות של מכשירים בתרחישי השימוש האלה.
העברת הודעות לפי נושא תומכת במספר בלתי מוגבל של מינויים לכל נושא. עם זאת, ב-FCM יש הגבלות ב��חומים הבאים:
- מכונה אחת של אפליקציה יכולה להירשם לעד 2,000 נושאים.
- אם משתמשים ב��י��ו�� בא��ווה כדי להירשם למופעים של אפליקציות, כל בקשה מוגבלת ל-1,000 מופעים של אפליקציות.
- תדירות המינויים החדשים מוגבלת לכל פרויקט. אם שולחים יותר מדי בקשות מינויים בפרק זמן קצר, שרתי FCM יגיבו עם התשובה
429 RESOURCE_EXHAUSTED
('חריגה מהמכסה'). ניסיון חוזר עם השהיה מעריכית לפני ניסיון חוזר (exponential backoff).
הרשמה של אפליקציית הלקוח לנושא
אפליקציות הלקוח יכולות להירשם לכל נושא קיים או ליצור נושא חדש. כשאפליקציית לקוח נרשמת לנושא חדש (שעדיין לא קיים בפרויקט Firebase שלכם), נוצר נושא חדש בשם הזה ב-FCM וכל לקוח יכול להירשם אליו לאחר מכן.
כדי להירשם לנושא, קוראים לפונקציה subscribeToTopic()
עם שם הנושא. השיטה הזו מחזירה Future
, שמתקבל כאשר המינוי הצליח:
await FirebaseMessaging.instance.subscribeToTopic("topic");
כדי לבטל את ההרשמה, צריך להתקשר למספר unsubscribeFromTopic()
ולציין את שם הנושא.
אין תמיכה ב-subscribeToTopic()
וב-unsubscribeFromTopic()
בלקוחות אינטרנט. במאמר שליחת הודעות לנושאים באינטרנט או ב-JavaScript מוסבר איך מנהלים את המינויים של משתמשי אינטרנט.