קבלה וטיפול בהודעות
כדי לקבל הודעות, האפליקציה צריכה להקצות קריאה חוזרת (callback) למטפל האירועים Firebase.Messaging.FirebaseMessaging.MessageReceived
.
אירוע אחד (MessageReceived
)
שינוי ההקצאה של פונקציית ה-callback ל-Firebase.Messaging.FirebaseMessaging.MessageReceived
מאפשר לבצע פעולות על סמך ההודעה שהתקבלה ולקבל את נתוני ההודעה:
public void OnMessageReceived(object sender, Firebase.Messaging.MessageReceivedEventArgs e) { UnityEngine.Debug.Log("From: " + e.Message.From); UnityEngine.Debug.Log("Message ID: " + e.Message.MessageId); }
הודעות יכולות לייצג סוגים שונים של נתונים נכנסים. בדרך כלל, ההודעות נשלחות לאפליקציה אחרי שהמפתח יוצר אותן. הודעות נשלחות גם לאפליקציה כדי לייצג אירועי שליחת הודעות, אירועי שגיאה בשליחת הודעות ואירועי מחיקה של הודעות. כדי להבדיל בין האירועים המיוחדים האלה, מסמנים את השדה MessageType
.
ההודעות נמחקו
נשלחת לאפליקציה כשההודעות בהמתנה נמחקות בשרת FCM.
MessageType
יהיה "deleted_messages"
. יכול להיות שההודעות יימחקו אם:
יש יותר מדי הודעות שמאוחסנות בשרת FCM.
מצב כזה יכול לקרות כששרתים של אפליקציה שולחים המון הודעות שלא ניתן לכווץ לשרתים של FCM בזמן שהמכשיר במצב אופליין.
המכשיר לא היה מחובר במשך זמן רב ושרת האפליקציה שלח לאחרונה (במהלך 4 השבועות האחרונים) הודעה לאפליקציה במכשיר הזה.
מומלץ שהאפליקציה תבצע סנכרון מלא עם שרת האפליקציה אחרי קבלת הקריאה הזו.
שליחת אירוע
הפונקציה נקראת כשהודעה מ-upstream נשלחת בהצלחה אל FCM.
MessageType
יהיה "send_event"
.
שגיאת שליחה
הקריאה מתבצעת כשיש שגיאה בשליחת הודעה ב-upstream.
MessageType
יהיה "send_error"
.