این صفحه راهنمایی عیبیابی و پاسخ به پرسشهای متداول درباره 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
فهرستشده در 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 اعلام کرده است که پروتکل دودویی قدیمی را برای APNs منسوخ میکند. آیا باید کاری انجام دهم؟
نه. Firebase Cloud Messaging در سال ۲۰۱۷ به پروتکل «اعلانهای فشار» مبتنی بر HTTP/2 تغییر کرد.
اگر از FCM برای ارسال اعلان به دستگاههای iOS استفاده میکنید،
لازم نیست اقدامی انجام دهید.
FCM سهمیه و محدودیت
چگونه در عرض ۲ دقیقه به پایگاه مشتری بزرگ اطلاع دهم؟
از این مورد استفاده نمیتوان پشتیبانی کرد. باید ترافیک خود را درطول ۵ دقیقه پخش کنید.
برنامه من کاربران را از رویدادها مطلع میکند و این پیامها باید بلافاصله ارسال شوند تا از مدل کسبوکار من پشتیبانی کنند. آیا میتوانم سهمیه بیشتری دریافت کنم؟
متأسفانه، نمیتوانیم به این دلیل افزایش سهمیه را اعطا کنیم. باید ترافیک خود را در طول ۵ دقیقه پخش کنید تا از ترافیک ناگهانی جلوگیری کنید.
پیامهای من درباره
رویدادهای زمانبندیشده است. چگونه میتوانم همه ترافیک را در ابتدای هر ساعت ارسال کنم؟
توصیه میکنیم که ارسال اعلانها را حداقل ۵ دقیقه قبلاز رویداد شروع کنید. یا پیامهای داده
ارسال کنید و معادل پلاتفرم خود را برای کنترلکننده onMessageReceived پیادهسازی کنید تا
اعلانهای محلی را ازقبل زمانبندی کنید.
خطاهای ۴۲۹ برای من و کسبوکارم
سخت است که مدیریت کنیم. آیا میتوانم معافیت یا سهمیه بیشتری برای جلوگیری از دریافت خطای ۴۲۹ دریافت کنم؟
بااینکه میدانیم محدودیتهای سهمیه میتواند چالشبرانگیز باشد، سهمیهها برای حفظ قابلیت اطمینان سرویس حیاتی هستند و نمیتوانیم استثنا قائل شویم. از تلاشهای مجدد برای
مدیریت صحیح خطاهای ۴۲۹ استفاده کنید.
چقدر طول میکشد تا درخواست افزایش سهمیه من انجام شود؟
درخواست افزایش سهمیه
شما به استفاده شما از FCM بستگی دارد. درهرصورت، میتوانید انتظار داشته باشید که ظرف چند روز کاری پاسخ دریافت کنید. در برخی موارد، ممکن است درباره استفاده شما از
FCM و شرایط مختلف، رفتوبرگشتهایی وجود داشته باشد که میتواند فرایند را طولانیتر کند. اگر همه
الزامات برآورده شود، بیشتر درخواستها ظرف ۲ هفته رسیدگی خواهد شد.
آیا میتوانم سهمیه بیشتری برای رویداد موقت دریافت کنم؟
میتوانید برای پشتیبانی از رویدادی که تا ۱ ماه طول میکشد، درخواست سهمیه اضافی کنید.
درخواست را حداقل ۱ ماه قبلاز رویداد و با جزئیات واضح درباره زمان شروع و پایان رویداد ارسال کنید و FCM تمام تلاش عملی خود را برای برآورده کردن درخواست انجام خواهد داد. درصورت اعطا، این افزایش سهمیه پساز تاریخ پایان رویداد به حالت قبل برمیگردد.
آیا سهمیه فعلی من
ممکن است تغییر کند؟
اگرچه Google این کار را بهراحتی انجام نمیدهد، اما سهمیهها ممکن است درصورت نیاز برای محافظت از تمامیت سیستم تغییر کنند. درصورت امکان، Google قبلاز اعمال چنین تغییراتی به شما اطلاع خواهد داد. مخاطبین Cloud MSA را بهروز نگه دارید تا
احتمال دریافت اعلانهای سرویس افزایش یابد.
FCM منسوخ شدن میانای برنامهسازی کاربردی قدیمی
میاناهای برنامهسازی کاربردی سمت سرور در سپتامبر ۲۰۲۶ منسوخ میشود
کدام میاناهای برنامهسازی کاربردی و ویژگیها منسوخ شدهاند و از رده خارج خواهند شد؟ اگر از این «میاناهای برنامهسازی کاربردی» استفاده میکنم، چه کاری باید انجام دهم؟
همه میاناهای برنامهسازی کاربردی سرور InstanceId
و ویژگی گروه دستگاه منسوخ شدهاند و در تاریخ ۲۹ سپتامبر ۲۰۲۷ ازکار خواهند افتاد. جدول زیر
جزئیات بیشتری درباره ویژگیها/میاناهای برنامهسازی کاربردی منسوخشده و اقدام موردنیاز نشان میدهد.
| نام میانای برنامهسازی کاربردی
|
نقطه پایان میانای برنامهسازی کاربردی
|
استفاده موردنظر
|
تأثیر بر مشتری
|
اقدام لازم است
|
| میانای برنامهسازی کاربردی اطلاعات InstanceId
|
https://iid.googleapis.com/iid/info
|
دریافت اطلاعات مربوط به InstanceId / کد FCM
|
درخواستهای این «میانای برنامهسازی کاربردی» پساز ۲۹ سپتامبر ۲۰۲۷ با خطا مواجه خواهد شد.
|
برای مشتریانی که از API برای اعتبارسنجی کد استفاده میکنند، از FCM V1 send API استفاده کنید و validate_only را روی درست تنظیم کنید.
مشتریانی که از API برای دریافت اطلاعات اشتراک موضوع استفاده میکنند، به API اشتراک موضوع جدید نقل مکان کنند.
|
| میانای برنامهسازی کاربردی اشتراک موضوع 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 جدید
API
انتقال دهید.
|
| میانای برنامهسازی کاربردی وارد کردن دستهای InstanceId
|
https://iid.googleapis.com/iid/v1:batchImport
|
ایجاد کردن نشانهای FCM برای iOS بهصورت دستهای در سمت سرور.
|
درخواستهای این «میانای برنامهسازی کاربردی» پساز ۲۹ سپتامبر ۲۰۲۷ با خطا مواجه خواهد شد.
ایجاد FCM ثبت از نشانهای APNs در سمت سرور پشتیبانی نخواهد شد.
|
میتوانید از سرویس APNs شرکت Apple برای ارسال اعلان بااستفاده از نشانهای APNs استفاده کنید.
برای دریافت مزایای اضافی ارائهشده توسط FCM، برنامهتان را با کیت توسعه نرمافزار FCM iOS ادغام کنید، که ثبتنامهای 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
|
ارسال پیام به گروههای دستگاه بااستفاده از کلید اعلان_گروه.
|
این «میانای برنامهسازی کاربردی» همچنان کار خواهد کرد اما پساز ۲۹ سپتامبر ۲۰۲۷ از کد گروه دستگاه پشتیبانی نخواهد کرد.
|
اگر از Firebase Admin SDK برای مدیریت اشتراکهای موضوعی استفاده کنم، آیا این منسوخ شدن بر من تأثیر خواهد گذاشت؟ چه کاری باید انجام دهم؟
اگر از نسخههای قدیمیتر Firebase Admin SDK برای مدیریت اشتراکهای موضوعی استفاده میکنید، این منسوخ شدن بر شما تأثیر خواهد گذاشت.
باید «کیت توسعه نرمافزار Firebase Admin» خود را به
نسخههای زیر ارتقا دهید:
| Platform
|
نسخه «کیت توسعه نرمافزار سرپرست» تحتتأثیر قرار گرفته است
|
نسخه «کیت توسعه نرمافزار سرپرست» که باید به آن ارتقا یابد
|
| Node.js
|
<=۱۴.۴.۰
|
>=۱۴.۵.۰
|
| پایتون
|
<=۷.۶.۰
|
>=۷.۷.۰
|
| جاوا
|
<=9.10.0
|
>=9.11.0
|
| رفتن
|
<=۴.۲۱.۰
|
>=۴.۲۲.۰
|
| .NET
|
<=3.6.0
|
>=3.7.0
|
آیا قبلاز ۲۹ سپتامبر ۲۰۲۷ شاهد تنزل سرویس خواهم بود؟
نه. شما ۱۲ ماه فرصت دارید تا از «میاناهای برنامهسازی کاربردی» منسوخشده به جایگزینها منتقل شوید و سرویس شما تنزل پیدا نکند. بهشدت توصیه میکنیم که مهاجرت را در اسرع وقت برنامهریزی کنید تا از این برچیدن تحت تأثیر قرار نگیرید.
پساز ۲۹ سپتامبر ۲۰۲۷، هنگام فراخوانی APIهای منسوخشده، انتظار میرود خطا دریافت کنید.
آیا کاربران جدید میتوانند پیشاز برچیدن، با ویژگیها/میاناهای برنامهسازی کاربردی منسوخشده آشنا شوند؟
کاربران جدید میتوانند پیشاز ۱ ژانویه ۲۰۲۷ از ویژگیها/میاناهای برنامهسازی کاربردی منسوخشده استفاده کنند.
پساز ۱ ژانویه ۲۰۲۷، کاربران جدید نمیتوانند از «میاناهای برنامهسازی کاربردی» منسوخشده استفاده کنند.
کاربرانی که از «میاناهای برنامهسازی کاربردی» منسوخشده استفاده میکنند میتوانند تا ۲۹ سپتامبر ۲۰۲۷ به استفاده از آنها ادامه دهند.