סוגי הודעות של העברת הודעות בענן ב-Firebase

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

  • הודעות התראה, בדומה ל'הודעות שמוצגות', מטופלות באופן אוטומטי על ידי FCM SDK.
  • הודעות נתונים, שמטופלות על ידי אפליקציית הלקוח.

הודעות ההתראה מכילות קבוצה מוגדרת מראש של מפתחות שגלויים למשתמשים, ויכולות להכיל מטען נתונים אופציונלי. לעומת זאת, הודעות נתונים מכילות רק צמדי מפתח/ערך מותאמים אישית שהוגדרו על ידי המשתמש. המטען הייעודי המקסימלי לשני סוגי ההודעות הוא 4,096 בייט, למעט כששולחים הודעות ממסוף Firebase, שבו יש מגבלה של 1,000 תווים.

תרחיש שימוש איך שולחים
הודעה לידיעה FCM SDK מציג את ההודעה במכשירים של משתמשי הקצה בשם אפליקציית הלקוח כשהיא פועלת ברקע. אחרת, אם האפליקציה פועלת בחזית כשההתראה מתקבלת, הקוד של האפליקציה קובע את ההתנהגות.
  1. בסביבה מהימנה כמו Cloud Functions או שרת האפליקציה, משתמשים ב-Firebase Admin SDK או ב-HTTP v1 API. מגדירים את המפתח notification. יכול להיות שיש לו מטען נתונים אופציונלי. מתקפלת תמיד.

    אפשר לעיין ב דוגמאות להתראות לרשת המדיה ובמטענים ייעודיים (payloads) של בקשות לשליחת התראות.

  2. משתמשים ב כלי ליצירת התראות: מזינים את טקסט ההודעה, הכותרת וכו' ושולחים. אפשר להוסיף מטען ייעודי (payload) של נתונים אופציונליים על ידי ציון נתונים מותאמים אישית.
הודעת נתונים אפליקציית הלקוח אחראית לעיבוד הודעות הנתונים. הודעות נתונים כוללות רק צמדי מפתח/ערך מותאמים אישית ללא שמות מפתחות שמורים (ראו בהמשך). בסביבה מהימנה כמו Cloud Functions או שרת האפליקציה, משתמשים ב-Firebase Admin SDK או ב-HTTP v1 API. בבקשת השליחה, מגדירים את המפתח data.

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

אפשר להשתמש בהודעות נתונים כשרוצים לעבד את ההודעות באמצעות קוד משלכם של אפליקציית לקוח.

הודעות לידיעה

אפשר לשלוח הודעות התראה באמצעות מסוף Firebase, Firebase Admin SDK או FCM HTTP v1 API. מסוף Firebase מספק בדיקות A/B שמבוססות על ניתוח נתונים, כדי לעזור לכם לשפר את הודעות ההתראה.

כדי לשלוח הודעות התראה באמצעות Firebase Admin SDK או FCM HTTP v1 API, מגדירים את המפתח notification עם קבוצה מוגדרת מראש של אפשרויות של זוגות מפתח/ערך של הודעת ההתראה. אפשר להשתמש בדוגמה הבאה כדי לעצב הודעת התראה באפליקציית צ'אט

{
  "message":{
    "token":"bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
    "notification":{
      "title":"Portugal vs. Denmark",
      "body":"great match!"
    }
  }
}

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

תוכלו לעיין במסמכי העזר של אובייקט ההתראה של FCM HTTP v1 API כדי לראות את הרשימה המלאה של המפתחות המוגדרים מראש שזמינים ליצירת הודעות התראה.

הודעות נתונים

אתם יכולים להשתמש ב-payload של FCM data כדי להטמיע את תוכנית ההצפנה שתבחרו. חשוב לוודא שלא משתמשים במילים שמורות בצמדי מפתח/ערך מותאמים אישית. מילים שמורות כוללות את from,‏ message_type או כל מילה שמתחילה ב-google.,‏ gcm. או gcm.notification..

בדוגמה הבאה מוצג שימוש בשדה הנתונים ברמה העליונה, או בשדה הנתונים המשותף, שמפורש על ידי לקוחות בכל הפלטפורמות שמקבלות את ההודעה. בכל פלטפורמה, אפליקציית הלקוח מקבלת את מטען הנתונים בפונקציית קריאה חוזרת (callback)

{
  "message":{
    "token":"bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
    "data":{
      "Nick" : "Mario",
      "body" : "great match!",
      "Room" : "PortugalVSDenmark"
    }
  }
}