בדף הזה תוכלו למצוא עזרה לפתרון בעיות ותשובות לשאלות נפוצות בנושא 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
לא מופעלת. בהודעות התראה עם מטען נתונים, הודעת ההתראה מוצגת במגש המערכת, ואפשר לאחזר את הנתונים שנכללו בהודעת ההתראה מהכוונה שהופעלה כשהמשתמש מקיש על ההתראה.
מידע נוסף זמין במאמר בנושא קבלת הודעות וטיפול בהן.
למה מופיעה שגיאה 404 כשאני שולח הודעות למופע פעיל של אפליקציה ששוחזר מגיבוי?
מזהה ההתקנה ב-Firebase (FID) הוא המזהה של מופע אפליקציה. כברירת מחדל, נתוני ההתקנה של Firebase מגובים ומשוחזרים. לכן, במקרה של שחזור, מופע האפליקציה המשוחזר ומופע האפליקציה המקורי חולקים את אותו FID. מכיוון ש-FCM מאחסן רק טוקן אחד לכל FID, אם גם מופע האפליקציה המקורי וגם מופע האפליקציה המשוחזר נמצאים בשימוש, אז כשמופע אחד של האפליקציה נרשם ב-FCM, הטוקן של מופע האפליקציה השני מוסר, וזה גורם לשגיאות 404.
אנחנו ממליצים למפתחים לבצע את הפעולות הבאות באפליקציה שלהם:
- לא לכלול
נתוני התקנה של Firebase בגיבוי. נתוני ההתקנה של Firebase מאוחסנים בקובץ
PersistedInstallation....json
. שם הקובץ הוא קבוע לאפליקציה. לדוגמה, <exclude domain="file" path="PersistedInstallation.W0R...GQ.json"
/>
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.