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

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

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

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

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

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

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

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

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

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