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