این صفحه، راهنمایی برای عیبیابی و پاسخ به سوالات متداول در مورد Cloud Messaging را ارائه میدهد.
Firebase Cloud Messaging مجموعهای کامل از قابلیتهای پیامرسانی را از طریق SDKهای کلاینت و پروتکل HTTP سرور خود ارائه میدهد. برای استقرارهایی با نیازهای پیامرسانی پیچیدهتر، FCM انتخاب مناسبی است.
آهنگساز اعلانها یک راهکار پیامرسانی سبک و بدون سرور است که بر روی Firebase Cloud Messaging ساخته شده است. با یک کنسول گرافیکی کاربرپسند و نیازهای کدنویسی کاهشیافته، آهنگساز اعلانها به کاربران امکان میدهد پیامهایی را برای تعامل مجدد و حفظ کاربران، تقویت رشد برنامه و پشتیبانی از کمپینهای بازاریابی ارسال کنند.
| قابلیتها | آهنگساز اعلانها | Cloud Messaging | |
|---|---|---|---|
| هدف | دستگاه تکی | ||
| مشتریانی که در موضوعات مشترک شدهاند (مثلاً آب و هوا) | |||
| کلاینتها در بخش کاربری از پیش تعریفشده (برنامه، نسخه، زبان) | |||
| مشتریان در مخاطبان تحلیلی مشخص شده | |||
| کلاینتها در گروههای دستگاه | |||
| بالادست از کلاینت به سرور | |||
| نوع پیام | اعلانها تا حجم ۲ کیلوبایت | ||
| پیامهای داده تا ۴ کیلوبایت | |||
| تحویل | فوری | ||
| زمان محلی دستگاه کلاینت آینده | |||
| تجزیه و تحلیل | مجموعه تجزیه و تحلیل اعلانها و تجزیه و تحلیل قیف فروش داخلی |
شما میتوانید Firebase Cloud Messaging به عنوان یک جزء مستقل و بدون استفاده از سایر سرویسهای Firebase استفاده کنید.
وقتی به نظر میرسد که دستگاهها پیامها را با موفقیت دریافت نکردهاند، ابتدا این دو دلیل احتمالی را بررسی کنید:
مدیریت پیامهای اعلان در پیشزمینه. برنامههای کلاینت باید منطق مدیریت پیام را برای مدیریت پیامهای اعلان در زمانی که برنامه در پیشزمینه دستگاه است، اضافه کنند. جزئیات مربوط به iOS و اندروید را ببینید.
محدودیتهای فایروال شبکه. اگر سازمان شما فایروالی دارد که ترافیک ورودی و خروجی اینترنت را محدود میکند، باید آن را طوری پیکربندی کنید که امکان اتصال به FCM را فراهم کند تا برنامههای کلاینت Firebase Cloud Messaging شما بتوانند پیامها را دریافت کنند. پورتهایی که باید باز شوند عبارتند از:
- ۵۲۲۸
- ۵۲۲۹
- ۵۲۳۰
FCM معمولاً از ۵۲۲۸ استفاده میکند، اما گاهی اوقات از ۵۲۲۹ و ۵۲۳۰ نیز استفاده میکند. FCM IPهای خاصی را ارائه نمیدهد، بنابراین باید به فایروال خود اجازه دهید تا اتصالات خروجی به تمام آدرسهای IP موجود در بلوکهای IP ذکر شده در ASN گوگل با شماره ۱۵۱۶۹ را بپذیرد.
وقتی برنامه شما در پسزمینه است، پیامهای اعلان در سینی سیستم نمایش داده میشوند و onMessageReceived فراخوانی نمیشود. برای پیامهای اعلان با بار داده، پیام اعلان در سینی سیستم نمایش داده میشود و دادههایی که در پیام اعلان گنجانده شده است را میتوان از intent که هنگام ضربه زدن کاربر روی اعلان اجرا میشود، بازیابی کرد.
برای اطلاعات بیشتر، به بخش دریافت و مدیریت پیامها مراجعه کنید.
FID (شناسه نصب فایربیس) شناسه یک نمونه برنامه است. به طور پیشفرض، دادههای نصب فایربیس پشتیبانگیری و بازیابی میشوند. بنابراین در حالت بازیابی، نمونه برنامه بازیابی شده و نمونه برنامه اصلی، FID یکسانی را به اشتراک میگذارند. از آنجایی که FCM فقط یک توکن برای هر FID ذخیره میکند، اگر هم نمونه برنامه اصلی و هم نمونه برنامه بازیابی شده در حال استفاده باشند، وقتی یک نمونه برنامه در FCM ثبت میشود، توکن نمونه برنامه دیگر حذف میشود که باعث خطای ۴۰۴ میشود.
به توسعهدهندگان توصیه میکنیم موارد زیر را در برنامه خود انجام دهند:
- دادههای نصب Firebase را در نسخه پشتیبان حذف کنید . دادههای نصب Firebase در یک فایل
PersistedInstallation....jsonذخیره میشوند. نام فایل یک ثابت برای یک برنامه است. برای مثال،<exclude domain="file" path="PersistedInstallation.W0R...GQ.json" />
خیر. Firebase Cloud Messaging در سال ۲۰۱۷ به پروتکل APN مبتنی بر HTTP/2 تغییر رویه داد. اگر از FCM برای ارسال اعلانها به دستگاههای iOS استفاده میکنید، نیازی به انجام هیچ کاری از جانب شما نیست.
سهمیهها و محدودیتهای FCM
این مورد استفاده پشتیبانی نمیشود. شما باید ترافیک خود را در طول ۵ دقیقه پخش کنید.
متأسفانه، به همین دلیل نمیتوانیم سهمیه را افزایش دهیم. شما باید ترافیک خود را در طول ۵ دقیقه پخش کنید تا از ترافیک نامنظم جلوگیری شود .
توصیه میکنیم حداقل ۵ دقیقه قبل از رویداد، ارسال اعلانها را شروع کنید. روش دیگر، ارسال پیامهای داده و پیادهسازی معادل پلتفرم خود از onMessageReceived handler برای برنامهریزی اعلانهای محلی از قبل است.
برای نحوه ترسیم و نظارت بر معیارهای سهمیه، به راهنمای Google Cloud مراجعه کنید.
اگرچه ما درک میکنیم که محدودیتهای سهمیهبندی میتواند چالشبرانگیز باشد، سهمیهبندی برای حفظ قابلیت اطمینان سرویس حیاتی است و ما نمیتوانیم معافیتهایی اعطا کنیم. برای مدیریت صحیح خطاهای ۴۲۹ از تلاش مجدد استفاده کنید.
درخواست افزایش سهمیه شما به میزان استفاده شما از FCM بستگی دارد. در هر صورت، میتوانید انتظار داشته باشید که ظرف چند روز کاری پاسخی دریافت کنید. در برخی موارد، ممکن است در مورد استفاده شما از FCM و شرایط مختلف، اختلاف نظرهایی وجود داشته باشد که میتواند روند کار را طولانیتر کند. در صورت برآورده شدن همه شرایط، اکثر درخواستها ظرف ۲ هفته بررسی خواهند شد.
شما میتوانید برای حمایت از رویدادی که تا ۱ ماه طول میکشد، سهمیه اضافی درخواست کنید. درخواست خود را حداقل ۱ ماه قبل از رویداد و با جزئیات واضح در مورد زمان شروع و پایان رویداد ثبت کنید و FCM تمام تلاش عملی خود را برای انجام درخواست انجام خواهد داد. در صورت موافقت، این افزایش سهمیه پس از تاریخ پایان رویداد بازگردانده خواهد شد.
اگرچه گوگل این کار را به راحتی انجام نمیدهد، اما سهمیهها ممکن است در صورت نیاز برای محافظت از یکپارچگی سیستم تغییر کنند. در صورت امکان، گوگل از قبل شما را از چنین تغییراتی مطلع خواهد کرد. مخاطبین Cloud MSA خود را بهروز نگه دارید تا شانس دریافت اطلاعیههای خدمات را افزایش دهید.
منسوخ شدن APIهای قدیمی FCM
API های سمت سرور در سپتامبر 2026 منسوخ شدند
تمام APIهای سرور InstanceId و ویژگی گروه دستگاه منسوخ شدهاند و در تاریخ ۲۹ سپتامبر ۲۰۲۷ از رده خارج خواهند شد. جدول زیر جزئیات بیشتری در مورد APIها/ویژگیهای منسوخ شده و اقدامات لازم را نشان میدهد.
| نام API | نقطه پایانی API | کاربرد مورد نظر | تأثیر مشتری | اقدام لازم |
|---|---|---|---|---|
| API اطلاعات InstanceId | https://iid.googleapis.com/iid/info | دریافت اطلاعات مربوط به یک InstanceId / FCM token | درخواستهای ارسالی به این API پس از ۲۹ سپتامبر ۲۰۲۷ با شکست مواجه خواهند شد. | برای مشتریانی که از API برای اعتبارسنجی توکن استفاده میکنند، FCM V1 send API استفاده کنید و validate_only روی true تنظیم کنید.برای مشتریانی که از API برای دریافت اطلاعات اشتراک موضوع استفاده میکنند، به API اشتراک موضوع جدید مهاجرت کنید. |
| API اشتراک موضوع InstanceId | https://iid.googleapis.com/iid/v1/…/rel/topics https://iid.googleapis.com/iid/v1:batchAdd https://iid.googleapis.com/iid/v1:batchحذف | اشتراک توکن(ها) در یک موضوع از طریق API اشتراک موضوع قدیمی. | درخواستهای ارسالی به این APIها پس از ۲۹ سپتامبر ۲۰۲۷ با شکست مواجه خواهند شد. | برای اشتراک و لغو اشتراک موضوعی، به API جدید سرور اشتراک موضوعی FCM مهاجرت کنید. |
| API برای وارد کردن دستهای InstanceId | https://iid.googleapis.com/iid/v1:batchImport | ایجاد توکنهای FCM برای iOS به صورت دستهای در سمت سرور. | درخواستهای ارسالی به این API پس از ۲۹ سپتامبر ۲۰۲۷ با شکست مواجه خواهند شد. ایجاد ثبتهای FCM از توکنهای APN در سمت سرور پشتیبانی نخواهد شد. | شما میتوانید از سرویس APN اپل برای ارسال اعلانها با استفاده از توکنهای APN استفاده کنید. برای بهرهمندی از مزایای اضافی ارائه شده توسط FCM ، برنامه خود را با FCM iOS SDK ادغام کنید، که باعث ایجاد ثبتهای FCM در کلاینت میشود. |
| API مدیریت گروه دستگاهها | https://fcm.googleapis.com/fcm/notification https://fcm.googleapis.com/gcm/notification https://fcm.googleapis.com/iid/notification https://fcm.googleapis.com/notification | اضافه کردن/حذف کردن/بازیابی اعضای گروه دستگاه. | درخواستهای ارسالی به این API پس از ۲۹ سپتامبر ۲۰۲۷ با شکست مواجه خواهند شد. | برای مهاجرت از این ویژگی، به راهنمایی مراجعه کنید. پیامها همچنان میتوانند به جای توکنهای گروهی، به ثبتهای FCM فردی ارسال شوند. |
| ارسال گروه دستگاه | https://fcm.googleapis.com/v1/projects/…/messages:send | ارسال پیام به گروههای دستگاه با استفاده از group notification_key. | این API به کار خود ادامه خواهد داد اما از توکنهای گروه دستگاهها پس از ۲۹ سپتامبر ۲۰۲۷ پشتیبانی نخواهد کرد. |
اگر از نسخههای قبلی Firebase Admin SDK برای مدیریت اشتراکهای موضوعی استفاده میکنید، تحت تأثیر منسوخ شدن قرار خواهید گرفت. باید Firebase Admin SDK خود را به نسخههای زیر ارتقا دهید:
| پلتفرم | نسخه SDK مدیریت تحت تأثیر قرار گرفته است | نسخه SDK مدیریت که باید ارتقا یابد |
|---|---|---|
| نود جی اس | <=14.4.0 | >=14.5.0 |
| پایتون | <=7.6.0 | >=7.7.0 |
| جاوا | <=9.10.0 | >=9.11.0 |
| برو | <=4.21.0 | >=4.22.0 |
| دات نت | <=3.6.0 | >=3.7.0 |
خیر. شما ۱۲ ماه فرصت دارید تا از APIهای منسوخشده به جایگزینها مهاجرت کنید، بدون اینکه هیچگونه تنزل رتبهای در سرویس خود ایجاد کنید. اکیداً توصیه میکنیم که این مهاجرت را در اسرع وقت برنامهریزی کنید تا تحت تأثیر حذف قرار نگیرید.
انتظار میرود هنگام فراخوانی APIهای منسوخشده پس از ۲۹ سپتامبر ۲۰۲۷، با خطا مواجه شوید.
جز در مواردی که غیر از این ذکر شده باشد،محتوای این صفحه تحت مجوز Creative Commons Attribution 4.0 License است. نمونه کدها نیز دارای مجوز Apache 2.0 License است. برای اطلاع از جزئیات، به خطمشیهای سایت Google Developers مراجعه کنید. جاوا علامت تجاری ثبتشده Oracle و/یا شرکتهای وابسته به آن است.
تاریخ آخرین بهروزرسانی 2026-09-25 بهوقت ساعت هماهنگ جهانی.