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

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

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

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

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

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

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

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

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

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

שליחת אירוע

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

שגיאה בשליחה

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