| בחירת פלטפורמה: | iOS+ Android Web Flutter Unity C++ |
כדי לקבל הודעות, האפליקציה צריכה להקצות קריאה חוזרת (callback) לגורם המטפל באירועים של Firebase.Messaging.FirebaseMessaging.MessageReceived.
אירוע אחד (MessageReceived)
אם מבטלים את ההקצאה של קריאה חוזרת ל-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);
}
ההודעות יכולות לייצג סוגים שונים של נתונים נכנסים. ברוב המקרים, ההודעות נשלחות לאפליקציה אחרי שהמפתח יוזם אותן. הודעות
נשלחות גם לאפליקציה כדי לייצג אירועים של שליחת הודעות, אירועים של שגיאות בשליחת הודעות
ואירועים של מחיקת הודעות. כדי להבחין בין האירועים המיוחדים האלה, צריך לבדוק את השדה Message::message_type.
ההודעות נמחקו
הודעה שנשלחת לאפליקציה כששרת FCM מוחק הודעות בהמתנה.
הערך של Message::message_type יהיה "deleted_messages". יכול להיות שההודעות יימחקו בגלל:
יש יותר מדי הודעות שמאוחסנות בשרת FCM.
זה יכול לקרות אם השרתים של אפליקציה שולחים הרבה הודעות שלא ניתן לכווץ לשרתי FCM בזמן שהמכשיר במצב אופליין.
המכשיר לא התחבר במשך זמן רב, ושרת האפליקציה שלח לאחרונה (במהלך 4 השבועות האחרונים) הודעה לאפליקציה במכשיר הזה.
מומלץ שהאפליקציה תבצע סנכרון מלא עם שרת האפליקציה אחרי קבלת הקריאה הזו.
שליחת אירוע
מופעל כשנשלחת בהצלחה הודעה מהשרת אל FCM.
הערך של MessageType יהיה "send_event".
שגיאת שליחה
הפונקציה מופעלת כשיש שגיאה בשליחת הודעה לשרת.
המינוי של MessageType יהיה "send_error".