הודעות בנושא ב-Flutter

הודעות בנושאים ב-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.

השלבים הבאים