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