קבלת הודעות באפליקציית לקוח של 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"
. יכול להיות שההודעות יימחקו אם:
יותר מדי הודעות מאוחסנות בשרת FCM.
זה יכול לקרות כשהשרתים של אפליקציה שולחים הרבה הודעות שלא ניתן לכווץ לשרתים של FCM בזמן שהמכשיר במצב אופליין.
המכשיר לא התחבר במשך זמן רב, והשרת של האפליקציה שלח לאחרונה (במהלך 4 השבועות האחרונים) הודעה לאפליקציה במכשיר הזה.
מומלץ שהאפליקציה תבצע סנכרון מלא עם שרת האפליקציה אחרי קבלת השיחה הזו.
שליחת אירוע
הפונקציה מופעלת כשהודעה מהשרת נשלחת בהצלחה אל FCM.
המינוי של MessageType
יהיה "send_event"
.
שגיאת שליחה
הפונקציה מופעלת כשיש שגיאה בשליחת הודעה לשרת.
המינוי של MessageType
יהיה "send_error"
.
אלא אם צוין אחרת, התוכן של דף זה הוא ברישיון Creative Commons Attribution 4.0 ודוגמאות הקוד הן ברישיון Apache 2.0. לפרטים, ניתן לעיין במדיניות האתר Google Developers. Java הוא סימן מסחרי רשום של חברת Oracle ו/או של השותפים העצמאיים שלה.
עדכון אחרון: 2025-09-03 (שעון UTC).
[null,null,["עדכון אחרון: 2025-09-03 (שעון UTC)."],[],[],null,["Receive and handle messages\n\nTo receive messages, your app must assign a callback to the\n[Firebase.Messaging.FirebaseMessaging.MessageReceived](/docs/reference/unity/class/firebase/messaging/firebase-messaging#messagereceived)\nevent handler.\n\n`MessageReceived` Event\n\nBy overriding assigning a callback to\n[Firebase.Messaging.FirebaseMessaging.MessageReceived](/docs/reference/unity/class/firebase/messaging/firebase-messaging#messagereceived)\nyou can perform actions based on the received message and get the message data: \n\n```c#\npublic void OnMessageReceived(object sender, Firebase.Messaging.MessageReceivedEventArgs e) {\n UnityEngine.Debug.Log(\"From: \" + e.Message.From);\n UnityEngine.Debug.Log(\"Message ID: \" + e.Message.MessageId);\n}\n```\n\nMessages can represent different kinds of incoming data. Most commonly,\nmessages are sent to the app after being initiated by the developer. Messages\nare also sent to you app to represent message sent events, message send error\nevents, and messages deleted events. These special events can be differentiated\nby checking the `MessageType` field.\n\nMessages Deleted\n\nSent to your app when the FCM server deletes pending messages.\n`MessageType` will be `\"deleted_messages\"`. Messages may be deleted if:\n\n1. Too many messages are stored on the FCM server.\n\n This can occur when an app's servers send a bunch of non-collapsible\n messages to FCM servers while the device is offline.\n2. The device hasn't connected in a long time and the app server has\n recently (within the last 4 weeks) sent a message to the app on that\n device.\n\n It is recommended that the app do a full sync with the app\n server after receiving this call.\n\nSend Event\n\nCalled when an upstream message has been successfully sent to FCM.\n`MessageType` will be `\"send_event\"`.\n\nSend Error\n\nCalled when there was an error sending an upstream message.\n`MessageType` will be `\"send_error\"`."]]