با استفاده از Firebase Cloud Messaging پیام ها را دریافت کنید

این راهنما نحوه راه‌اندازی Firebase Cloud Messaging در برنامه‌های موبایل و کلاینت وب خود توضیح می‌دهد تا بتوانید پیام‌ها را به‌طور مطمئن دریافت کنید.

برای دریافت پیام‌ها، برنامه شما باید به کنترل‌کننده رویداد 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);
}

پیام ها می توانند انواع مختلفی از داده های دریافتی را نشان دهند. معمولاً پیام‌ها پس از راه‌اندازی توسط برنامه‌نویس به برنامه ارسال می‌شوند. همچنین پیام‌هایی برای نمایش رویدادهای پیام ارسال شده، رویدادهای خطای ارسال پیام و رویدادهای حذف شده پیام‌ها به برنامه شما ارسال می‌شود. این رویدادهای خاص را می توان با بررسی قسمت Message::message_type متمایز کرد.

پیام ها حذف شد

زمانی که سرور FCM پیام های معلق را حذف می کند به برنامه شما ارسال می شود. Message::message_type "deleted_messages" خواهد بود. ممکن است پیام ها به دلایل زیر حذف شوند:

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

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

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

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

ارسال رویداد

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

ارسال خطا

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