دریافت پیام در یک برنامه مشتری 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" خواهد بود. پیام ها ممکن است حذف شوند اگر:

  1. تعداد زیادی پیام در سرور FCM ذخیره می شود.

    زمانی که سرورهای یک برنامه در حالت آفلاین بودن دستگاه، تعداد زیادی پیام غیرقابل جمع شدن را به سرورهای FCM ارسال می کنند، این اتفاق می افتد.

  2. دستگاه مدت زیادی است که وصل نشده است و سرور برنامه اخیراً (در 4 هفته گذشته) پیامی به برنامه روی آن دستگاه ارسال کرده است.

    توصیه می شود پس از دریافت این تماس، برنامه یک همگام سازی کامل با سرور برنامه انجام دهد.

ارسال رویداد

هنگامی که یک پیام بالادستی با موفقیت به FCM ارسال شده باشد، تماس گرفته می شود. MessageType "send_event" خواهد بود.

ارسال خطا

زمانی که خطایی در ارسال پیام بالادستی وجود داشت تماس گرفته شد. MessageType "send_error" خواهد بود.