پیامرسانی موضوع FCM به شما امکان میدهد پیامی را به چندین دستگاهی که موضوع خاصی را انتخاب کردهاند ارسال کنید. شما پیامهای موضوعی را در صورت نیاز مینویسید، و FCM مسیریابی و تحویل پیام را بهطور قابل اعتماد به دستگاههای مناسب انجام میدهد.
نکات کلیدی در مورد پیام موضوعی:
- بهترین گزینه برای اطلاعات در دسترس عموم مانند هشدارهای آب و هوا.
- پیامهای موضوعی بهجای تأخیر بهینهسازی شدهاند. برای تحویل سریع و ایمن به دستگاههای منفرد یا گروههای کوچک، پیامها را به جای موضوعات، به نشانههای ثبتنام کنید .
سهمیه ها و محدودیت ها
پیامرسانی موضوع از اشتراکهای نامحدود برای هر موضوع پشتیبانی میکند. با این حال، FCM محدودیت هایی را در این زمینه ها اعمال می کند:
- یک نمونه برنامه را نمی توان در بیش از 2000 موضوع مشترک کرد.
- اگر از اشتراک دسته ای برای اشتراک نمونه های برنامه استفاده می کنید، هر درخواست به 1000 نمونه برنامه محدود می شود.
کاهش سرعت اشتراک
نرخ افزودن یا حذف اشتراک موضوع به 3000 QPS در هر پروژه محدود شده است.
تعداد اشتراکهای جدید در هر پروژه با نرخ محدود است. اگر تعداد زیادی درخواست اشتراک را در مدت زمان کوتاهی ارسال کنید، سرورهای FCM با یک پاسخ 429 RESOURCE_EXHAUSTED
("QUOTA_EXCEEDED") پاسخ خواهند داد. با عقب نشینی نمایی دوباره امتحان کنید.
دریچه گاز فان اوت
پیام Fanout فرآیند ارسال پیام به چندین دستگاه است، مانند زمانی که موضوعات و گروهها را هدف قرار میدهید، یا زمانی که از سازنده Notifications برای هدف قرار دادن مخاطبان یا بخشهای کاربر استفاده میکنید.
پیام fanout آنی نیست و بنابراین گاهی اوقات شما چندین fanout به طور همزمان در حال انجام است. تعداد پیامهای همزمان در هر پروژه را به 1000 محدود میکنیم. پس از آن، ممکن است درخواستهای fanout اضافی را رد کنیم یا fanout درخواستها را تا زمانی که برخی از Fanoutهای در حال انجام کامل تکمیل شوند به تعویق بیاندازیم.
نرخ واقعی fanout قابل دستیابی تحت تأثیر تعداد پروژه هایی است که همزمان درخواست fanout می کنند. نرخ fanout 10000 QPS برای یک پروژه غیر معمول نیست، اما این عدد تضمینی نیست و نتیجه کل بار روی سیستم است. توجه به این نکته مهم است که ظرفیت fanout موجود بین پروژهها تقسیم میشود و نه بین درخواستهای fanout. بنابراین، اگر پروژه شما دارای دو fanout در حال انجام باشد، هر fanout فقط نیمی از نرخ fanout موجود را خواهد دید. روش توصیه شده برای به حداکثر رساندن سرعت فنآوت این است که هر بار فقط یک فنآوت فعال در حال انجام باشد.
مراحل بعدی
- نحوه مدیریت اشتراکهای موضوع را با استفاده از Admin SDK یا از برنامه مشتری خود بیاموزید.
- با نحوه ارسال پیام به موضوعات با استفاده از Admin SDK یا FCM v1 HTTP API آشنا شوید.