סקירה כללית של הארכיטקטורה של FCM

‫FCM מסתמך על קבוצת הרכיבים הבאה שיוצרים, מעבירים ומקבלים הודעות:

  1. כלים ליצירה או לפיתוח של בקשות להודעות. הכלי ליצירת התראות מספק אפשרות מבוססת-GUI ליצירת בקשות להתראות. כדי להשיג אוטומציה מלאה ותמיכה בכל סוגי ההודעות, צריך ליצור בקשות להודעות בסביבת שרת מהימנה שתומכת ב-Firebase Admin SDK או בפרוטוקול השרת של FCM. הסביבה הזו יכולה להיות Cloud Functions for Firebase,‏ App Engine או שרת האפליקציות שלכם.

    תרשים של שלוש שכבות הארכיטקטורה שמתוארות בדף הזה.

  2. הקצה העורפי של FCM, שמקבל בקשות להודעות (בין היתר), מבצע פיצול של הודעות באמצעות נושאים ויוצר מטא-נתונים של הודעות, כמו מזהה ההודעה.

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

    • שכבת התעבורה של Android‏ (ATL) למכשירי Android עם Google Play Services
    • שירות ההתראות של Apple‏ (APNs) למכשירי Apple
    • פרוטוקול של התראות מאפליקציות אינטרנט

  4. ‫FCM SDK במכשיר של המשתמש, שבו ההתראה מוצגת או שההודעה מטופלת בהתאם למצב הפעילות של האפליקציה (ברקע או בחזית) ולכל לוגיקה רלוונטית של האפליקציה.

תהליך במחזור החיים

  • רישום מכשירים לקבלת הודעות מ-FCM. מופע של אפליקציית לקוח נרשם לקבלת הודעות ומקבל אסימון רישום שמזהה באופן ייחודי את מופע האפליקציה.
  • שליחה וקבלה של הודעות במורד הזרם.
    • שלח הודעה. שרת האפליקציה שולח הודעות לאפליקציית הלקוח:
      1. ההודעה מורכבת, או בכלי ליצירת התראות או בסביבה מהימנה, ובקשת הודעה נשלחת לשרת העורפי של FCM.
      2. הקצה העורפי של FCM מקבל את בקשת ההודעה, יוצר מזהה הודעה ומטא-נתונים אחרים ושולח אותם לשכבת התעבורה הספציפית לפלטפורמה.
      3. כשהמכשיר מחובר לאינטרנט, ההודעה נשלחת למכשיר דרך שכבת התעבורה הספציפית לפלטפורמה.
      4. במכשיר, אפליקציית הלקוח מקבלת את ההודעה או ההתראה.