با FCM می توانید دو نوع پیام به برنامه های مشتری خود ارسال کنید:
- پیامهای اعلان، مشابه «پیامهای نمایش»، توسط FCM SDK بهطور خودکار مدیریت میشوند.
- پیام های داده، که توسط برنامه مشتری مدیریت می شود.
پیامهای اعلان شامل مجموعهای از کلیدهای از پیش تعریفشده قابل مشاهده توسط کاربر هستند و میتوانند حاوی یک بار داده اختیاری باشند. در مقابل، پیامهای داده فقط شامل جفتهای کلید-مقدار سفارشی تعریفشده توسط کاربر هستند. حداکثر بار برای هر دو نوع پیام 4096 بایت است، به جز زمانی که پیامها از کنسول Firebase ارسال میشود که محدودیت 1000 کاراکتری را اعمال میکند.
از سناریو استفاده کنید | نحوه ارسال | |
---|---|---|
پیام اعلان | FCM SDK زمانی که برنامه در پسزمینه اجرا میشود، پیام را از طرف برنامه مشتری به دستگاههای کاربر نهایی نمایش میدهد. در غیر این صورت، اگر برنامه هنگام دریافت اعلان در پیش زمینه اجرا شود، کد برنامه رفتار را تعیین می کند. |
|
پیام داده | برنامه مشتری مسئول پردازش پیام های داده است. پیام های داده فقط دارای جفت های سفارشی کلید-مقدار بدون نام کلید رزرو شده هستند (به زیر مراجعه کنید). | در یک محیط قابل اعتماد مانند Cloud Functions یا سرور برنامه خود، از Firebase Admin SDK یا HTTP v1 API استفاده کنید. در درخواست ارسال ، کلید data را تنظیم کنید. |
هنگامی که میخواهید FCM SDK نمایش خودکار اعلان را هنگامی که برنامه شما در پسزمینه اجرا میشود، انجام دهد، میتوانید از پیامهای اعلان استفاده کنید. FCM می تواند یک پیام اعلان با یک بار داده اختیاری ارسال کند. در چنین مواردی، FCM محموله اعلان را نمایش می دهد و برنامه مشتری بار داده را مدیریت می کند.
وقتی میخواهید پیامها را با کد برنامه مشتری خود پردازش کنید، میتوانید از پیامهای داده استفاده کنید.
پیام های اطلاع رسانی
میتوانید با استفاده از کنسول Firebase ، Firebase Admin SDK یا API FCM HTTP v1 پیامهای اعلان ارسال کنید. کنسول Firebase تست A/B مبتنی بر تجزیه و تحلیل را ارائه میکند تا به شما کمک کند پیامهای اعلان خود را اصلاح و بهبود بخشید.
برای ارسال پیامهای اعلان با استفاده از Firebase Admin SDK یا FCM HTTP v1 API، کلید notification
را با مجموعه از پیش تعریفشده گزینههای کلید-مقدار پیام اعلان تنظیم کنید. می توانید از مثال زیر برای قالب بندی پیام اعلان در یک برنامه IM استفاده کنید
{
"message":{
"token":"bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
"notification":{
"title":"Portugal vs. Denmark",
"body":"great match!"
}
}
}
وقتی برنامه در پسزمینه است، پیامهای اعلان به سینی اعلان تحویل داده میشوند. برای برنامههایی که در پیشزمینه قرار دارند، پیامها توسط یک عملکرد پاسخ به تماس مدیریت میشوند.
میتوانید از مستندات مرجع FCM HTTP v1 API برای فهرست کامل کلیدهای از پیش تعریفشده موجود برای پیامهای اعلان ساختمان استفاده کنید.
پیام های داده
این به شما بستگی دارد که چگونه می خواهید data
محموله FCM برای اجرای طرح رمزگذاری انتخابی خود استفاده کنید. اطمینان حاصل کنید که از هیچ کلمه رزرو شده ای در جفت های کلید-مقدار سفارشی خود استفاده نمی کنید. کلمات رزرو شده شامل from
، message_type
یا هر کلمه ای است که با google.
، gcm.
یا gcm.notification.
.
مثال زیر استفاده از فیلد داده های سطح بالا یا رایج را نشان می دهد که توسط مشتریان در تمام پلتفرم هایی که پیام را دریافت می کنند تفسیر می شود. در هر پلتفرم، برنامه سرویس گیرنده بار داده را در یک تابع تماس دریافت می کند
{
"message":{
"token":"bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
"data":{
"Nick" : "Mario",
"body" : "great match!",
"Room" : "PortugalVSDenmark"
}
}
}