קבלת הודעות באפליקציית לקוח של Unity

קבלת הודעות וטיפול בהן

כדי לקבל הודעות, האפליקציה צריכה להקצות קריאה חוזרת ל-event handler‏ 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);
}

הודעות יכולות לייצג סוגים שונים של נתונים נכנסים. ברוב המקרים, ההודעות נשלחות לאפליקציה אחרי שהמפתח יוזם אותן. הודעות נשלחות גם לאפליקציה כדי לייצג אירועים של שליחת הודעות, אירועים של שגיאות בשליחת הודעות ואירועים של מחיקת הודעות. כדי להבדיל בין האירועים המיוחדים האלה, צריך לבדוק את השדה MessageType.

ההודעות נמחקו

האירוע הזה נשלח לאפליקציה כששרת FCM מוחק הודעות בהמתנה. המינוי של MessageType יהיה "deleted_messages". יכול להיות שההודעות יימחקו אם:

  1. יותר מדי הודעות מאוחסנות בשרת FCM.

    זה יכול לקרות כשהשרתים של אפליקציה שולחים הרבה הודעות שלא ניתן לכווץ לשרתים של FCM בזמן שהמכשיר במצב אופליין.

  2. המכשיר לא התחבר במשך זמן רב, והשרת של האפליקציה שלח לאחרונה (במהלך 4 השבועות האחרונים) הודעה לאפליקציה במכשיר הזה.

    מומלץ שהאפליקציה תבצע סנכרון מלא עם שרת האפליקציה אחרי קבלת השיחה הזו.

שליחת אירוע

הפונקציה מופעלת כשהודעה מהשרת נשלחת בהצלחה אל FCM. המינוי של MessageType יהיה "send_event".

שגיאת שליחה

הפונקציה מופעלת כשיש שגיאה בשליחת הודעה לשרת. המינוי של MessageType יהיה "send_error".