בדף הזה תוכלו למצוא עזרה לפתרון בעיות ותשובות לשאלות נפוצות בנושא Cloud Messaging.
מה ההבדל בין הכלי ליצירת התראות לבין FCM?
Firebase Cloud Messaging מספקת קבוצה מלאה של יכולות העברת הודעות באמצעות ערכות ה-SDK של הלקוח ופרוטוקול שרת ה-HTTP שלה. בפריסות עם דרישות מורכבות יותר לשליחת הודעות,
FCM היא הבחירה הנכונה.
הכלי ליצירת התראות הוא פתרון קל משקל להעברת הודעות ללא שרת, שמבוסס על Firebase Cloud Messaging. הכלי ליצירת התראות הוא קל לשימוש, כולל קונסולה גרפית ודרישות קידוד מופחתות. הוא מאפשר למשתמשים לשלוח הודעות כדי לעודד אינטראקציה חוזרת עם המשתמשים ולשמר אותם, לקדם את הצמיחה של האפליקציה ולתמוך בקמפיינים שיווקיים.
יכולות |
|
הכלי ליצירת התראות |
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 מספר 15169 של Google.
למה הפונקציה onMessageReceived
לא מופעלת באפליקציית Android שלי?
כשהאפליקציה פועלת ברקע, הודעות התראה מוצגות במגש המערכת, והפונקציה onMessageReceived
לא מופעלת. בהודעות התראה עם מטען נתונים, הודעת ההתראה מוצגת במגש המערכת, ואפשר לאחזר את הנתונים שנכללו בהודעת ההתראה מהכוונה שהופעלה כשהמשתמש מקיש על ההתראה.
מידע נוסף זמין במאמר בנושא קבלת הודעות וטיפול בהן.
למה האפליקציה שלי מקבלת את השגיאה Invalid argument for the given fid (ארגומנט לא תקין עבור ה-FID שצוין) כשאני נרשם באמצעות FCM?
מזהה ההתקנה ב-Firebase (FID) הוא המזהה של מופע אפליקציה. אם נתוני ההתקנה של מופע אפליקציה משוחזרים מגיבוי, הפונקציה FCM מחזירה את השגיאה הזו כדי לציין שמזהה ה-FID כבר תפוס על ידי מופע אחר של האפליקציה, ולכן המופע הנוכחי של האפליקציה לא יכול להשתמש במזהה ה-FID כדי להירשם ל-FCM.
אנחנו ממליצים למפתחים לבצע את הפעולות הבאות באפליקציה שלהם:
- לא לכלול
נתוני התקנה של Firebase בגיבוי. נתוני ההתקנה של Firebase מאוחסנים בקובץ
PersistedInstallation....json
. שם הקובץ הוא קבוע לאפליקציה. לדוגמה, <exclude domain="file" path="PersistedInstallation....json"
/>
- מוחקים את הקובץ
PersistedInstallation....json
אם מקבלים את השגיאות Invalid
argument for the given fid. בפעם הבאה שהאפליקציה שלך תירשם ב-FCM, ייווצר FID חדש.
Apple הודיעה שהיא מוציאה משימוש את הפרוטוקול הבינארי מדור קודם עבור APNs. צריך לעשות משהו כדי שזה יפעל?
לא. Firebase Cloud Messaging עבר לפרוטוקול APNs שמבוסס על HTTP/2 בשנת 2017.
אם אתם משתמשים ב-FCM כדי לשלוח התראות למכשירי iOS, לא אמורה להידרש פעולה מצידכם.
FCM מכסות ומגבלות
איך אפשר להודיע לקהל לקוחות גדול תוך 2 דקות?
אין אפשרות לתמוך בתרחיש השימוש הזה. צריך לפרוס את התנועה על פני 5 דקות.
האפליקציה שלי שולחת למשתמשים התראות על אירועים, וההודעות האלה צריכות להישלח באופן מיידי כדי לתמוך במודל העסקי שלי. אפשר להגדיל את המכסה?
לצערנו, אנחנו לא יכולים להגדיל את המכסה מהסיבה הזו. כדי למנוע תנועה לא סדירה, צריך לפרוס את התנועה על פני 5 דקות.
ההודעות שלי הן לגבי
אירועים מתוזמנים. איך אפשר לשלוח את כל התנועה בתחילת השעה?
מומלץ להתחיל לשלוח את ההתראות לפחות 5 דקות לפני האירוע. אפשרות אחרת היא לשלוח הודעות נתונים ולהטמיע את המקבילה של הפלטפורמה שלכם ל-handler של onMessageReceived
כדי לתזמן מראש התראות מקומיות.
קשה לי ולעסק שלי להתמודד עם שגיאות 429. האם אפשר לקבל פטור או מכסה גדולה יותר כדי להימנע מקבלת קודי שגיאה 429?
אנחנו מבינים שמגבלות המכסה יכולות להיות בעייתיות, אבל המכסות חיוניות לשמירה על אמינות השירות, ולכן אנחנו לא יכולים לאשר חריגות. כדי לטפל בשגיאות 429 בצורה נכונה, צריך להשתמש בניסיונות חוזרים.
כמה זמן ייקח עד שהבקשה שלי להגדלת המכסה תאושר?
הבקשה להגדלת המכסה תלויה בשימוש שלכם ב-FCM. בכל מקרה, תקבלו תשובה תוך כמה ימי עסקים. במקרים מסוימים, יכול להיות שיהיה צורך בהתכתבות הלוך ושוב בנוגע לשימוש שלך ב-FCM ולנסיבות שונות, מה שיכול להאריך את התהליך. אם מתקיימות כל הדרישות, רוב הבקשות מטופלות תוך שבועיים.
האם אפשר לקבל מכסת שימוש גדולה יותר לאירוע זמני?
אתם יכולים לבקש מכסה נוספת כדי לתמוך באירוע שנמשך עד חודש.
צריך להגיש את הבקשה לפחות חודש לפני האירוע, ולציין בה בבירור את שעת ההתחלה ושעת הסיום של האירוע. FCM יעשה כל מאמץ מעשי כדי למלא את הבקשה. אם נסכים להגדיל את המכסה, היא תחזור למצב הקודם אחרי תאריך הסיום של האירוע.
האם המכסה הנוכחית שלי עשויה להשתנות?
Google לא תעשה זאת בקלות, אבל יכול להיות שהיא תשנה את המכסות לפי הצורך כדי להגן על תקינות המערכת. במידת האפשר, Google תודיע לכם מראש על שינויים כאלה. כדי להגדיל את הסיכוי לקבל הודעות על שירותים, חשוב לעדכן את אנשי הקשר ב-Cloud MSA.