این صفحه راهنماییهای عیبیابی و پاسخ به پرسشهای متداول درباره Cloud Messaging را ارائه میدهد.
تفاوت بین «سازنده اعلانها» و FCM چیست؟
Firebase Cloud Messaging مجموعه کاملی از قابلیتهای پیامرسانی را ازطریق کیت توسعه نرمافزار مشتری و پروتکل سرور HTTP ارائه میدهد. برای استقرار با الزامات پیامرسانی پیچیدهتر،
FCM انتخاب مناسبی است.
«ترکیبکننده اعلانها» یک راهحل پیامرسانی سبک و بدون سرور است که روی Firebase Cloud Messaging ساخته شده است. با کنسول گرافیکی کاربرپسند و نیاز کمتر به کدنویسی، «سازنده اعلانها» به کاربران امکان میدهد برای تعامل مجدد و حفظ کاربران، تقویت رشد برنامه، و پشتیبانی از پویشهای بازاریابی پیام ارسال کنند.
| قابلیتها |
|
ترکیبکننده اعلانها |
Cloud Messaging |
| هدف |
تکدستگاهه |
|
|
|
مشتریان مشترک موضوعات
(یعنی آبوهوا) |
|
|
|
کارخواهها در بخش کاربر ازپیش تعریفشده (برنامه، نسخه، زبان) |
|
|
|
مشتریان در مخاطبان Analytics مشخصشده |
|
|
|
کاربران در گروههای دستگاه |
|
|
|
بالادست از کارخواه به سرور |
|
|
| نوع پیام |
اعلانهای تا ۲ کیلوبایت |
|
|
|
پیامهای دادهای تا ۴ کیلوبایت |
|
|
| تحویل |
فوری |
|
|
|
زمان محلی دستگاه کارخواه آینده |
|
|
| Analytics |
مجموعه تجزیهوتحلیل «اعلانهای» داخلی و تجزیهوتحلیل
قیفی |
|
|
آیا برای استفاده از FCM باید از سرویسهای دیگر Firebase استفاده کنم؟
میتوانید از Firebase Cloud Messaging بهعنوان مؤلفهای مستقل، بدون استفاده از
سرویسهای دیگر Firebase، استفاده کنید.
چرا دستگاههای هدف من
ظاهراً پیامها را دریافت نمیکنند؟
وقتی بهنظر میرسد دستگاهها پیامها را با موفقیت دریافت نکردهاند، ابتدا این دو علت احتمالی را بررسی کنید:
مدیریت پیام پیشزمینهای برای پیامهای اعلان. برنامههای کارخواه باید
منطق مدیریت پیام را اضافه کنند تا پیامهای اعلان را وقتی برنامه در
پیشزمینه دستگاه است مدیریت کنند. جزئیات مربوط به
iOS و
Android را ببینید.
محدودیتهای دیوار آتش شبکه. اگر سازمانتان دیوار آتشی دارد که
ترافیک به یا از اینترنت را محدود میکند، باید آن را پیکربندی کنید تا
اتصال با FCM را مجاز کند تا برنامههای مشتری Firebase Cloud Messaging شما
بتوانند پیام دریافت کنند. درگاههایی که باید باز شوند:
FCM معمولاً از ۵۲۲۸ استفاده میکند، اما گاهی از ۵۲۲۹ و ۵۲۳۰ استفاده میکند.
FCM نشانیهای IP خاصی ارائه نمیدهد، بنابراین باید به دیواره آتش خود اجازه دهید
اتصالهای خروجی به همه نشانیهای IP موجود در بلوکهای IP
فهرستشده در ASN ۱۵۱۶۹ Google را بپذیرد.
چرا
onMessageReceived در برنامه Android من فراخوانده نمیشود؟
وقتی برنامهتان در پسزمینه باشد، پیامهای
اعلان
در سینی سیستم نمایش داده میشود و onMessageReceived فراخوانی نمیشود. برای پیامهای اعلان با داده بار، پیام اعلان در سینی سیستم نمایش داده میشود و دادههایی که همراه با پیام اعلان ارسال شده است را میتوان از هدف راهاندازیشده هنگام ضربه زدن کاربر روی اعلان بازیابی کرد.
برای اطلاعات بیشتر، دریافت و مدیریت
پیامها را ببینید.
چرا وقتی به نمونه برنامه فعالی که از نسخه پشتیبان بازیابی شده است پیام ارسال میکنم، خطای ۴۰۴ دریافت میکنم؟
FID (شناسه نصب Firebase) شناسه نمونه برنامه است. بهطور پیشفرض،
دادههای «نصب Firebase» پشتیبانگیری و بازیابی میشود. بنابراین در مورد بازیابی، نمونه برنامه بازیابیشده و نمونه برنامه اصلی از یک FID یکسان استفاده میکنند. ازآنجاییکه FCM فقط یک کد برای هر FID ذخیره میکند، اگر هم نمونه برنامه اصلی و هم نمونه برنامه بازیابیشده درحال استفاده باشند، وقتی یک نمونه برنامه در FCM ثبت میشود، کد نمونه برنامه دیگر برداشته میشود که باعث خطای ۴۰۴ میشود.
به توسعهدهندگان توصیه میکنیم موارد زیر را در برنامهشان انجام دهند:
- دادههای نصب Firebase را در نسخه پشتیبان مستثنا کنید
دادههای نصب Firebase در فایل
PersistedInstallation....json ذخیره میشود. نام فایل برای برنامه ثابت است. برای مثال، <exclude domain="file" path="PersistedInstallation.W0R...GQ.json"
/>
Apple
اعلام کرد که پروتکل دودویی قدیمی را برای APN منسوخ میکند. آیا باید کاری انجام دهم؟
نه. Firebase Cloud Messaging در سال ۲۰۱۷ به پروتکل «اعلانهای فشار» مبتنی بر HTTP/2 تغییر کرد.
اگر از FCM برای ارسال اعلان به دستگاههای iOS استفاده میکنید،
لازم نیست اقدامی انجام دهید.
سهمیهها و محدودیتهای FCM
چگونه در عرض ۲ دقیقه به پایگاه مشتری بزرگ اطلاع دهم؟
از این مورد استفاده نمیتوان پشتیبانی کرد. باید ترافیکتان را درطول ۵ دقیقه پخش کنید.
برنامه من کاربران را از رویدادها مطلع میکند و این پیامها باید بلافاصله ارسال شوند تا از مدل کسبوکار من پشتیبانی کنند. آیا میتوانم سهمیه بیشتری دریافت کنم؟
متأسفانه، نمیتوانیم به این دلیل افزایش سهمیه را اعطا کنیم. باید ترافیکتان را درطول ۵ دقیقه پخش کنید تا از ترافیک جهشی جلوگیری شود.
پیامهای من درباره
رویدادهای زمانبندیشده است. چگونه میتوانم همه ترافیک را در ابتدای ساعت ارسال کنم؟
توصیه میکنیم که ارسال اعلانها را حداقل ۵ دقیقه قبلاز رویداد شروع کنید. یا پیامهای داده ارسال کنید و آنالوگ پلاتفرم خود را از گرداننده onMessageReceived پیادهسازی کنید تا اعلانهای محلی را ازقبل زمانبندی کنید.
خطاهای ۴۲۹ برای من و کسبوکارم
سخت است که مدیریت کنیم. آیا میتوانم معافیت یا سهمیه بیشتری برای جلوگیری از دریافت خطای ۴۲۹ دریافت کنم؟
بااینکه میدانیم محدودیتهای سهمیه میتواند چالشبرانگیز باشد، سهمیهها برای حفظ قابلیت اطمینان سرویس حیاتی هستند و نمیتوانیم معافیت اعطا کنیم. از تلاشهای مجدد برای
مدیریت صحیح خطاهای ۴۲۹ استفاده کنید.
چقدر طول میکشد تا درخواست افزایش سهمیه من برآورده شود؟
درخواست افزایش سهمیه
شما به استفاده شما از FCM بستگی دارد. در هر صورت، میتوانید انتظار داشته باشید که ظرف چند روز کاری پاسخ دریافت کنید. در برخی موارد، ممکن است درباره استفاده شما از FCM و شرایط مختلف، رفتوبرگشتهایی وجود داشته باشد که میتواند فرایند را طولانی کند. اگر همه
الزامات برآورده شده باشد، بیشتر درخواستها ظرف ۲ هفته رسیدگی خواهد شد.
آیا میتوانم برای رویدادی موقت سهمیه بیشتری دریافت کنم؟
میتوانید برای پشتیبانی از رویدادی که تا ۱ ماه طول میکشد، درخواست سهمیه اضافی کنید.
درخواست را حداقل ۱ ماه قبلاز رویداد و با جزئیات واضح درباره زمان شروع و پایان رویداد ارسال کنید و FCM تمام تلاش عملی خود را برای برآورده کردن درخواست انجام خواهد داد. درصورت اعطا، این افزایش سهمیه پساز تاریخ پایان رویداد برگردانده خواهد شد.
آیا سهمیه فعلی من
ممکن است تغییر کند؟
اگرچه Google این کار را بهراحتی انجام نمیدهد، اما ممکن است سهمیهها درصورت نیاز برای محافظت از یکپارچگی سیستم تغییر کنند. درصورت امکان، Google پیشاز اعمال چنین تغییراتی به شما اطلاع خواهد داد. مخاطبین Cloud MSA خود را بهروز نگه دارید تا احتمال دریافت اعلامیههای خدمات افزایش یابد.
FCM منسوخ شدن میانای برنامهسازی کاربردی قدیمی
میاناهای برنامهسازی کاربردی سمت سرور در سپتامبر ۲۰۲۶ منسوخ میشوند
کدام میاناهای برنامهسازی کاربردی و ویژگیها منسوخ شدهاند و از رده خارج خواهند شد؟ اگر از این «میاناهای برنامهسازی کاربردی» استفاده میکنم، چه کاری باید انجام دهم؟
همه میاناهای برنامهسازی کاربردی سرور InstanceId
و ویژگی گروه دستگاه
منسوخ شدهاند و در ۲۹ سپتامبر ۲۰۲۷ از رده خارج خواهند شد. جدول زیر
جزئیات بیشتری درباره میاناهای برنامهسازی کاربردی/ویژگیهای منسوخشده و اقدام لازم نشان میدهد.
| نام میانای برنامهسازی کاربردی
|
نقطه پایان میانای برنامهسازی کاربردی
|
استفاده موردنظر
|
تأثیر بر مشتری
|
اقدام لازم است
|
| InstanceId info API
|
https://iid.googleapis.com/iid/info
|
دریافت اطلاعات مربوط به InstanceId / کد FCM
|
درخواستهای ارسالشده به این میانای برنامهسازی کاربردی از ۲۹ سپتامبر ۲۰۲۷ ناموفق خواهد بود.
|
برای مشتریانی که از API برای اعتبارسنجی کد استفاده میکنند، از FCM V1 send API استفاده کنید و validate_only را روی درست تنظیم کنید.
برای مشتریانی که از میانای برنامهسازی کاربردی برای دریافت اطلاعات اشتراک موضوع استفاده میکنند، به میانای برنامهسازی کاربردی جدید اشتراک موضوع منتقل شوید.
|
| میانای برنامهسازی کاربردی اشتراک موضوع InstanceId
|
https://iid.googleapis.com/iid/v1/…/rel/topics
https://iid.googleapis.com/iid/v1:batchAdd
https://iid.googleapis.com/iid/v1:batchRemove
|
مشترک کردن کد(های) امنیتی در موضوع ازطریق میانای برنامهسازی کاربردی اشتراک موضوع قدیمی.
|
درخواستهای ارسالشده به این میانای برنامهسازی کاربردی از ۲۹ سپتامبر ۲۰۲۷ ناموفق خواهد بود.
|
برای اشتراک و لغو اشتراک موضوع، به API جدید سرور اشتراک موضوع FCM مهاجرت کنید.
|
| میانای برنامهسازی کاربردی وارد کردن دستهای InstanceId
|
https://iid.googleapis.com/iid/v1:batchImport
|
ایجاد کردن نشانهای FCM برای iOS بهصورت دستهای در سمت سرور.
|
درخواستهای ارسالشده به این میانای برنامهسازی کاربردی از ۲۹ سپتامبر ۲۰۲۷ ناموفق خواهد بود.
ایجاد ثبت FCM از توکنهای APN در سمت سرور پشتیبانی نخواهد شد.
|
میتوانید از سرویس APN Apple برای ارسال اعلان بااستفاده از توکنهای APN استفاده کنید.
برای دریافت مزایای اضافی ارائهشده توسط FCM، برنامهتان را با FCM iOS SDK ادغام کنید که ثبتنامهای FCM را در کارخواه ایجاد خواهد کرد.
|
| میانای برنامهسازی کاربردی مدیریت گروه دستگاه
|
https://fcm.googleapis.com/fcm/notification
https://fcm.googleapis.com/gcm/notification
https://fcm.googleapis.com/iid/notification
https://fcm.googleapis.com/notification
|
درحال افزودن / برداشتن/ بازیابی اعضای گروه دستگاه.
|
درخواستهای ارسالشده به این میانای برنامهسازی کاربردی از ۲۹ سپتامبر ۲۰۲۷ ناموفق خواهد بود.
|
راهنمای انتقال از این ویژگی را ببینید.
پیامها همچنان میتوانند بهجای کدهای گروهی به ثبتهای FCM فردی ارسال شوند.
|
| ارسال گروه دستگاه
|
https://fcm.googleapis.com/v1/projects/…/messages:send
|
ارسال پیام به گروههای دستگاه بااستفاده از notification_key گروه.
|
این میانای برنامهسازی کاربردی همچنان کار خواهد کرد اما پساز ۲۹ سپتامبر ۲۰۲۷ از کدهای گروه دستگاه پشتیبانی نخواهد کرد.
|
اگر از Firebase Admin SDK برای مدیریت اشتراکهای موضوع استفاده میکنم، آیا تحت تأثیر این منسوخ شدن قرار خواهم گرفت؟ چه کاری باید انجام دهم؟
اگر از نسخههای قدیمیتر Firebase Admin SDK برای مدیریت اشتراکهای موضوع استفاده میکنید، تحت تأثیر این منسوخ شدن قرار خواهید گرفت.
باید «کیت توسعه نرمافزار Firebase Admin» خود را به
نسخههای زیر ارتقا دهید:
| Platform
|
نسخه Admin SDK تحتتأثیر قرار گرفته است
|
نسخه کیت توسعه نرمافزار سرپرست برای ارتقا دادن
|
| Node.js
|
<=14.4.0
|
>=14.5.0
|
| پایتون
|
<=۷.۶.۰
|
>=7.7.0
|
| جاوا
|
<=9.10.0
|
>=9.11.0
|
| رفتن
|
<=4.21.0
|
>=4.22.0
|
| .NET
|
<=3.6.0
|
>=3.7.0
|
آیا قبلاز ۲۹ سپتامبر ۲۰۲۷ شاهد تنزل سرویس خواهم بود؟
نه. شما ۱۲ ماه فرصت دارید تا از «میاناهای برنامهسازی کاربردی» منسوخشده به جایگزینها منتقل شوید و سرویس شما تنزل پیدا نکند. اکیداً توصیه میکنیم انتقال را در اسرع وقت برنامهریزی کنید تا تحت تأثیر ازکاراندازی قرار نگیرید.
پساز ۲۹ سپتامبر ۲۰۲۷، هنگام فراخوانی APIهای منسوخشده، انتظار میرود خطا دریافت کنید.
آیا کاربران جدید میتوانند پیشاز برچیدن، با ویژگیها/میاناهای برنامهسازی کاربردی منسوخشده آشنا شوند؟
کاربران جدید میتوانند قبلاز ۱ ژانویه ۲۰۲۷، از میاناهای برنامهسازی کاربردی/ویژگیهای منسوخشده استفاده کنند.
پساز ۱ ژانویه ۲۰۲۷، کاربران جدید نمیتوانند از میاناهای برنامهسازی کاربردی منسوخشده استفاده کنند.
کاربرانی که از «میاناهای برنامهسازی کاربردی» منسوخشده استفاده میکنند میتوانند تا ۲۹ سپتامبر ۲۰۲۷ به استفاده از آنها ادامه دهند.