دریافت پیام در یک برنامه مشتری Unity
با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
دریافت و مدیریت پیام ها
برای دریافت پیامها، برنامه شما باید به کنترلکننده رویداد 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 License است. نمونه کدها نیز دارای مجوز Apache 2.0 License است. برای اطلاع از جزئیات، به خطمشیهای سایت Google Developers مراجعه کنید. جاوا علامت تجاری ثبتشده Oracle و/یا شرکتهای وابسته به آن است.
تاریخ آخرین بهروزرسانی 2025-09-03 بهوقت ساعت هماهنگ جهانی.
[null,null,["تاریخ آخرین بهروزرسانی 2025-09-03 بهوقت ساعت هماهنگ جهانی."],[],[],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\"`."]]