پیام غیرقابلجمعشدن یعنی هر پیام بهصورت جداگانه به دستگاه ارسال میشود. پیام غیرجمعشدنی محتوای مفید ارائه میدهد. درحالیکه پیام جمعشدنی مثل «پینگ» بدون محتوا به برنامه تلفن همراه برای تماس با سرور و واکشی دادهها.
برخیاز موارد استفاده معمول از پیامهای غیرجمعشدنی عبارتاند از پیامهای گپ یا پیامهای حیاتی. برای Android، حداکثر ۱۰۰ پیام را میتوان بدون جمع کردن ذخیره کرد. اگر به حد مجاز برسد، همه پیامهای ذخیرهشده دور ریخته میشوند. وقتی دستگاه دوباره آنلاین شد، پیام ویژهای دریافت میکند که نشان میدهد به حد مجاز رسیده است. سپس برنامه میتواند با درخواست همگامسازی کامل از سرور برنامه، وضعیت را مدیریت کند.
پیام جمعشدنی پیامی است که اگر هنوز به دستگاه ارسال نشده باشد، ممکن است با پیام جدیدی جایگزین شود.
یک مورد استفاده رایج از پیامهای جمعشدنی: پیامهایی که برای گفتن به یک برنامه تلفن همراه برای همگامسازی دادهها از سرور استفاده میشوند. یک نمونه از آن برنامه ورزشی است که جدیدترین امتیاز را به کاربران اطلاع میدهد. فقط جدیدترین پیام مرتبط است.
برای علامتگذاری پیام بهعنوان جمعشدنی در Android، پارامتر
collapse_key را در
بار پیام بگنجانید. بهطور پیشفرض، کلید جمعکردن همان نام بسته برنامه است که در کنسول Firebase ثبت شده است. سرور FCM میتواند
بهطور همزمان چهار پیام جمعشدنی متفاوت را برای هر
دستگاه ذخیره کند که هرکدام کلید جمعشدنی متفاوتی دارند. اگر از این تعداد فراتر بروید،
FCM فقط
چهار کلید جمعکردن را نگه میدارد و هیچ عامل تعیینکنندهای برای اینکه کدام کلیدها نگه داشته شوند وجود ندارد.
پیامهای موضوعی بدون بار مفید بهطور پیشفرض جمعشدنی هستند. پیامهای اعلان
همیشه جمعشدنی هستند و پارامتر collapse_key را نادیده میگیرند.
از کدام باید استفاده کنم؟
از دیدگاه عملکرد، پیامهای جمعشدنی گزینه ترجیحی هستند، بهشرطی که برنامه شما نیازی به استفاده از پیامهای جمعنشدنی نداشته باشد. بااینحال، اگر از پیامهای جمعشدنی استفاده میکنید، بهخاطر داشته باشید که FCM فقط اجازه میدهد حداکثر از چهار کلید جمعشدنی مختلف توسط FCM در هر کد ثبت در هر زمان مشخص استفاده شود.
| استفاده از سناریو | نحوه ارسال | |
|---|---|---|
| غیرقابل جمعشدن | هر پیامی برای برنامه کارخواه مهم است و باید ارسال شود. | بهجز پیامهای اعلان، همه پیامها بهطور پیشفرض غیرقابلجمعشدن هستند. |
| جمعشدنی | وقتی پیام جدیدتری وجود داشته باشد که پیام قدیمیتر و مرتبطی را برای برنامه مشتری نامربوط کند، FCM جایگزین پیام قدیمیتر میشود. برای مثال: پیامهای اعلان قدیمی. | پارامتر مناسب را در درخواست پیام خود تنظیم کنید:
|