پیام‌های جمع‌شدنی و جمع‌نشدنی

پیام غیرجمع‌شدنی یعنی هر پیام جداگانه به دستگاه ارسال می‌شود. پیام غیرجمع‌شدنی محتوای مفید ارائه می‌دهد. درحالی‌که پیام جمع‌شدنی مثل «پینگ» بدون محتوا به برنامه تلفن همراه برای تماس با سرور و واکشی داده‌ها.

برخی‌از موارد استفاده معمول از پیام‌های غیرجمع‌شدنی عبارت‌اند از پیام‌های گپ یا پیام‌های حیاتی. برای Android، حداکثر ۱۰۰ پیام را می‌توان بدون جمع کردن ذخیره کرد. اگر به حد مجاز برسید، همه پیام‌های ذخیره‌شده دور انداخته می‌شوند. وقتی دستگاه دوباره آنلاین شد، پیام ویژه‌ای دریافت می‌کند که نشان می‌دهد به حد مجاز رسیده است. سپس برنامه می‌تواند با درخواست همگام‌سازی کامل از سرور برنامه، وضعیت را مدیریت کند.

پیام جمع‌شدنی پیامی است که اگر هنوز به دستگاه تحویل داده نشده باشد ممکن است با پیام جدیدی جایگزین شود.

کاربرد رایج پیام‌های جمع‌شدنی: پیام‌هایی که برای گفتن به برنامه تلفن همراه برای همگام‌سازی داده‌ها از سرور استفاده می‌شود. برای مثال، برنامه ورزشی که کاربران را از جدیدترین امتیازات مطلع می‌کند. فقط جدیدترین پیام مرتبط است.

برای علامت‌گذاری پیام به‌عنوان جمع‌شدنی در Android، پارامتر collapse_key را در بار پیام بگنجانید. به‌طور پیش‌فرض، کلید جمع‌شونده نام بسته برنامه ثبت‌شده در کنسول Firebase است. سرور FCM می‌تواند به‌طور هم‌زمان چهار پیام جمع‌شدنی مختلف را برای هر دستگاه ذخیره کند، هرکدام با کلید جمع‌شدنی متفاوت. اگر از این تعداد فراتر بروید، FCM فقط چهار کلید جمع‌شونده را نگه می‌دارد و هیچ عامل تعیین‌کننده‌ای برای انتخاب کلیدهای نگه‌داشته‌شده وجود ندارد.

پیام‌های موضوعی بدون بار به‌طور پیش‌فرض جمع‌شدنی هستند. پیام‌های اعلان همیشه جمع‌شدنی هستند و پارامتر collapse_key را نادیده می‌گیرند.

از کدام باید استفاده کنم؟

از دیدگاه عملکرد، پیام‌های جمع‌شدنی گزینه ترجیحی هستند، به‌شرطی که برنامه شما نیازی به استفاده از پیام‌های جمع‌نشدنی نداشته باشد. بااین‌حال، اگر از پیام‌های جمع‌شدنی استفاده می‌کنید، به‌یاد داشته باشید که FCM فقط اجازه می‌دهد حداکثر از چهار کلید جمع‌شدنی مختلف توسط FCM برای هر رمز ثبت در هر زمان استفاده شود.

استفاده از سناریو نحوه ارسال
غیرقابل جمع‌شدن هر پیامی برای برنامه کارخواه مهم است و باید ارسال شود. به‌جز پیام‌های اعلان، همه پیام‌ها به‌طور پیش‌فرض غیرجمع‌شدنی هستند.
جمع‌شدنی وقتی پیام جدیدتری وجود داشته باشد که پیام قدیمی‌تر و مرتبطی را برای برنامه مشتری نامربوط کند، FCM جایگزین پیام قدیمی‌تر می‌شود. برای مثال: پیام‌های اعلان قدیمی. پارامتر مناسب را در درخواست پیامتان تنظیم کنید: