בדף הזה מופיעות תשובות לשאלות נפוצות על Cloud Messaging ועזרה בפתרון בעיות.
מה ההבדל בין ניסוח מסרים (Notifications Composer) לבין FCM?
Firebase Cloud Messaging מספק קבוצה מלאה של יכולות העברת הודעות באמצעות ערכות ה-SDK של הלקוח ופרוטוקול שרת ה-HTTP. אם אתם צריכים לשלוח הודעות מורכבות יותר, FCM הוא הבחירה הנכונה.
הכלי "ניסוח מסרים" הוא פתרון קל משקל להעברת הודעות בלי שרת (serverless), שמבוסס על Firebase Cloud Messaging. הכלי לניסוח מסרים כולל מסוף גרפי ידידותי למשתמש ודורש פחות כתיבת קוד. הוא מאפשר למשתמשים לשלוח הודעות כדי לעודד אינטראקציה חוזרת ולשמר משתמשים, להגדיל את מספר המשתמשים באפליקציה ולתמוך בקמפיינים שיווקיים.
| יכולות |
|
ניסוח מסרים (Notifications Composer) |
Cloud Messaging |
| Target |
מכשיר אחד |
|
|
|
לקוחות שנרשמו לנושאים
(למשל, מזג האוויר) |
|
|
|
לקוחות בפלח משתמשים מוגדר מראש (אפליקציה, גרסה, שפה) |
|
|
|
לקוחות בקהלים ספציפיים ב-Analytics |
|
|
|
לקוחות בקבוצות מכשירים |
|
|
|
במעלה הזרם, מהלקוח לשרת |
|
|
| סוג ההודעה |
התראות בגודל של עד 2KB |
|
|
|
הודעות נתונים עד 4KB |
|
|
| שליחה |
מיידי |
|
|
|
הזמן המקומי העתידי במכשיר הלקוח |
|
|
| Analytics |
איסוף נתונים מובנה של ניתוח התראות וניתוח משפך |
|
|
האם צריך להשתמש בשירותים אחרים של Firebase כדי להשתמש ב-FCM?
אפשר להשתמש ב-Firebase Cloud Messaging כרכיב עצמאי, בלי להשתמש בשירותים אחרים של Firebase.
למה נראה שמכשירי היעד לא מקבלים הודעות?
אם נראה שהמכשירים לא קיבלו הודעות, קודם כל צריך לבדוק את שתי הסיבות האפשריות הבאות:
טיפול בהודעות שמתקבלות כשהאפליקציה פועלת בחזית. אפליקציות לקוח צריכות להוסיף לוגיקה לטיפול בהודעות כדי לטפל בהודעות של התראות כשהאפליקציה פועלת בחזית במכשיר. פרטים נוספים זמינים במאמרים בנושא iOS ו-Android.
הגבלות של חומת האש של הרשת. אם בארגון שלכם יש חומת אש שמגבילה את התעבורה אל האינטרנט או ממנו, אתם צריכים להגדיר אותה כך שתאפשר קישוריות עם FCM כדי שאפליקציות הלקוח של Firebase Cloud Messaging יוכלו לקבל הודעות. אלה היציאות שצריך לפתוח:
FCM בדרך כלל משתמש בפורט 5228, אבל לפעמים הוא משתמש בפורטים 5229 ו-5230.
FCM לא מספק כתובות IP ספציפיות, לכן צריך לאפשר לחומת האש לקבל חיבורים יוצאים לכל כתובות ה-IP שכלולות בבלוקים של כתובות ה-IP שרשומים ב-ASN של Google (15169).
למה הפונקציה onMessageReceived לא מופעלת באפליקציית Android שלי?
כשהאפליקציה פועלת ברקע, הודעות ההתראה מוצגות במגש המערכת, והפונקציה onMessageReceived לא מופעלת. בהודעות התראה עם מטען נתונים, הודעת ההתראה מוצגת במגש המערכת, ואפשר לאחזר את הנתונים שנכללו בהודעת ההתראה מהכוונה שהופעלה כשהמשתמש מקיש על ההתראה.
מידע נוסף זמין במאמר בנושא קבלת הודעות וטיפול בהן.
למה מופיעה שגיאה 404 כשאני שולח הודעות למופע פעיל של אפליקציה ששוחזר מגיבוי?
מזהה ההתקנה ב-Firebase (FID) הוא המזהה של מופע אפליקציה. כברירת מחדל,
נתוני ההתקנה של Firebase מגובים ומשוחזרים. לכן, במקרה של שחזור, מופע האפליקציה המשוחזר ומופע האפליקציה המקורי חולקים את אותו FID. מכיוון ש-FCM מאחסן רק טוקן אחד לכל FID, אם גם המופע המקורי של האפליקציה וגם המופע המשוחזר של האפליקציה נמצאים בשימוש, כשמופע אחד של האפליקציה נרשם ב-FCM, הטוקן של המופע השני של האפליקציה מוסר, מה שגורם לשגיאות 404.
אנחנו ממליצים למפתחים לבצע את הפעולות הבאות באפליקציה:
- החרגה של נתוני ההתקנה של Firebase בגיבוי. נתוני ההתקנה של Firebase מאוחסנים בקובץ
PersistedInstallation....json. שם הקובץ הוא קבוע לאפליקציה. לדוגמה, <exclude domain="file" path="PersistedInstallation.W0R...GQ.json"
/>
חברת Apple הודיעה שהיא מוציאה משימוש את הפרוטוקול הבינארי הקודם של APNs. צריך לעשות משהו?
לא. בשנת 2017, Firebase Cloud Messaging עברה לפרוטוקול APNs שמבוסס על HTTP/2.
אם אתם משתמשים ב-FCM כדי לשלוח התראות למכשירי iOS, לא נדרשת פעולה מצדכם.
מכסות ומגבלות של FCM
איך אפשר להודיע למספר גדול של לקוחות תוך 2 דקות?
תרחיש השימוש הזה לא נתמך. צריך לפרוס את התנועה על פני 5 דקות.
האפליקציה שלי שולחת למשתמשים הודעות על אירועים, וההודעות האלה צריכות להישלח באופן מיידי כדי לתמוך במודל העסקי שלי. אפשר לקבל מכסה גדולה יותר?
לצערנו, אנחנו לא יכולים להגדיל את המכסה מהסיבה הזו. כדי למנוע עומס פתאומי בתנועה, צריך לפרוס את התנועה על פני 5 דקות.
ההודעות שלי הן לגבי
אירועים מתוזמנים. איך אפשר לשלוח את כל התנועה בתחילת השעה?
מומלץ להתחיל לשלוח את ההתראות לפחות 5 דקות לפני האירוע. אפשרות אחרת היא לשלוח הודעות עם נתונים ולהטמיע את האנלוג של handler onMessageReceived בפלטפורמה כדי לתזמן התראות מקומיות מראש.
קשה לי ולעסק שלי להתמודד עם שגיאות 429. האם אפשר לקבל פטור או להגדיל את המכסה כדי להימנע משגיאות 429?
אנחנו מבינים שמגבלות המכסות יכולות להיות מאתגרות, אבל המכסות חיוניות לשמירה על אמינות השירות, ואנחנו לא יכולים להעניק פטורים. כדי לטפל בשגיאות 429 כמו שצריך, נסו שוב.
כמה זמן לוקח עד שמקבלים תשובה לבקשה להגדלת המכסה?
הבקשה להגדלת המכסה תלויה בשימוש שלכם ב-FCM. בכל מקרה, תקבלו תשובה תוך כמה ימי עסקים. במקרים מסוימים, יכול להיות שיהיו כמה תכתובות לגבי השימוש שלך ב-FCM ונסיבות שונות, מה שיכול להאריך את התהליך. אם כל הדרישות מתקיימות, רוב הבקשות מטופלות תוך שבועיים.
אפשר להגדיל את המכסה לאירוע זמני?
אתם יכולים לבקש מכסה נוספת כדי לתמוך באירוע שנמשך עד חודש.
צריך להגיש את הבקשה לפחות חודש לפני האירוע, ולציין בבירור מתי האירוע מתחיל ומתי הוא מסתיים. FCM תעשה כל מאמץ מעשי כדי למלא את הבקשה. אם נאשר את ההגדלות האלה במכסה, הן יבוטלו אחרי תאריך הסיום של האירוע.
האם המכסה הנוכחית שלי יכולה להשתנות?
Google לא תעשה זאת בקלות, אבל יכול להיות שהיא תשנה את המכסות לפי הצורך כדי להגן על תקינות המערכת. כשאפשר, Google תודיע לכם מראש על שינויים כאלה. כדי להגדיל את הסיכוי לקבל הודעות על השירות, חשוב לעדכן את אנשי הקשר שלכם ב-Cloud MSA.
FCM הוצאה משימוש של API מדור קודם
ממשקי API בצד השרת יוצאים משימוש בספטמבר 2026
אילו ממשקי API ותכונות יוצאו משימוש ויושבתו? מה צריך לעשות אם משתמשים בממשקי ה-API האלה?
כל ממשקי ה-API של שרת InstanceId והתכונה "קבוצת מכשירים" הוצאו משימוש ויושבתו ב-29 בספטמבר 2027. בטבלה הבאה מפורטים פרטים נוספים על ממשקי ה-API והתכונות שהוצאו משימוש, ועל הפעולות שצריך לבצע.
| שם ה-API
|
נקודת קצה ל-API
|
שימוש מיועד
|
השפעה על הלקוחות
|
נדרשת פעולה
|
| InstanceId info API
|
https://iid.googleapis.com/iid/info
|
קבלת מידע שקשור ל-InstanceId או לטוקן FCM
|
החל מ-29 בספטמבר 2027, בקשות ל-API הזה ייכשלו.
|
לקוחות שמשתמשים ב-API לאימות טוקנים צריכים להשתמש ב-API לשליחה של FCM בגרסה 1 ולהגדיר את validate_only כ-true.
לקוחות שמשתמשים ב-API כדי לקבל מידע על מינוי לנושא, צריכים לעבור ל-API החדש למינוי לנושא.
|
| InstanceId topic subscription API
|
https://iid.googleapis.com/iid/v1/…/rel/topics
https://iid.googleapis.com/iid/v1:batchAdd
https://iid.googleapis.com/iid/v1:batchRemove
|
רישום אסימונים למינוי לנושא באמצעות Topics API מדור קודם.
|
בקשות לממשקי ה-API האלה יתחילו להיכשל אחרי 29 בספטמבר 2027.
|
עוברים לשרת API החדש של FCM למינוי לנושאים
כדי להירשם לנושאים ולבטל את ההרשמה אליהם.
|
| InstanceId batch import API
|
https://iid.googleapis.com/iid/v1:batchImport
|
יצירת אסימוני FCM ל-iOS באצווה בצד השרת.
|
בקשות ל-API הזה יתחילו להיכשל אחרי 29 בספטמבר 2027.
לא תהיה תמיכה ביצירת רישומים של FCM מטוקנים של APNs בצד השרת.
|
אתם יכולים להשתמש בשירות ה-APNs של Apple כדי לשלוח התראות באמצעות אסימוני APNs.
כדי לקבל הטבות נוספות מ-FCM, צריך לשלב את האפליקציה עם FCM iOS SDK, שייצור רישומים של FCM אצל הלקוח.
|
| API לניהול קבוצות של מכשירים
|
https://fcm.googleapis.com/fcm/notification
https://fcm.googleapis.com/gcm/notification
https://fcm.googleapis.com/iid/notification
https://fcm.googleapis.com/notification
|
הוספה, הסרה ואחזור של חברים בקבוצת המכשירים.
|
החל מ-29 בספטמבר 2027, בקשות ל-API הזה ייכשלו.
|
כאן אפשר לקרוא הנחיות להפסקת השימוש בתכונה.
עדיין אפשר לשלוח הודעות לרישומים נפרדים של FCM במקום לטוקנים קבוצתיים.
|
| שליחה לקבוצת מכשירים
|
https://fcm.googleapis.com/v1/projects/…/messages:send
|
שליחת הודעות לקבוצות מכשירים באמצעות מפתח ההתראה הקבוצתי notification_key.
|
ה-API הזה ימשיך לפעול, אבל הוא לא יתמוך בטוקנים של קבוצות מכשירים אחרי 29 בספטמבר 2027.
|
אם אני משתמש ב-SDK של Firebase לאדמינים כדי לנהל הרשמות לנושאים, האם אהיה מושפע מהפסקת התמיכה? מה לעשות?
אם אתם משתמשים בגרסאות קודמות של SDK של Firebase לאדמינים כדי לנהל הרשמות לנושאים, הפסקת התמיכה תשפיע עליכם.
צריך לשדרג את ה-SDK של Firebase לאדמינים לגרסאות הבאות:
| פלטפורמה
|
גרסת ה-SDK לאדמינים שמושפעת מהבעיה
|
גרסת ה-SDK לאדמינים שצריך לשדרג אליה
|
| Node.js
|
<=14.4.0
|
>=14.5.0
|
| Python
|
<=7.6.0
|
>=7.7.0
|
| Java
|
<=9.10.0
|
>=9.11.0
|
| המשך
|
<=4.21.0
|
>=4.22.0
|
| .NET
|
<=3.6.0
|
>=3.7.0
|
האם תהיה הורדת רמת שירות לפני 29 בספטמבר 2027?
לא. יש לכם 12 חודשים לעבור מממשקי ה-API שהוצאו משימוש לחלופות, בלי שום פגיעה בשירות. מומלץ מאוד לתכנן את ההעברה בהקדם האפשרי כדי שההוצאה משימוש לא תשפיע עליכם.
אם תשלחו קריאות לממשקי API שהוצאו משימוש אחרי 29 בספטמבר 2027, תקבלו שגיאות.
האם משתמשים חדשים יכולים להצטרף לממשקי ה-API או לתכונות שהוצאו משימוש לפני שהם יושבתו?
משתמשים חדשים יכולים להצטרף ל-APIs או לתכונות שהוצאו משימוש לפני 1 בינואר 2027.
אחרי 1 בינואר 2027, משתמשים חדשים לא יוכלו להשתמש בממשקי ה-API שהוצאו משימוש.
משתמשים שכבר משתמשים בממשקי ה-API שהוצאו משימוש יכולים להמשיך להשתמש בהם עד 29 בספטמבר 2027.