קבלה וטיפול בהודעות
כדי לקבל הודעות, האפליקציה צריכה להקצות קריאה חוזרת (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"
.