یک بک‌اند می‌تواند درخواست Firebase Cloud Messaging را با موفقیت از طریق پروکسی شرکتی ارسال کند، در حالی که دستگاه اندروید هرگز اعلان را دریافت نمی‌کند. درخواست Admin API بک‌اند و اتصال FCM دستگاه دو مسیر جداگانه‌اند.

راهنمای شبکه فایربیس می‌گوید پروتکل دستگاه FCM را نمی‌توان از طریق پروکسی شبکه عبور داد. پیکربندی یک کلاینت HTTP در فرستنده، آن اتصال دائمی دستگاه را به درخواست پروکسی HTTP تبدیل نمی‌کند.

برای دستگاه‌های اندروید، پورت‌های مقصد TCP مستندشده 5228، 5229، 5230 و 443 هستند. FCM معمولاً از 5228 استفاده می‌کند و پورت‌های دیگر نیز در دسترس‌اند. خط‌مشی مربوطه را در شبکه‌ای اعمال کنید که دستگاه‌های گیرنده به آن متصل می‌شوند.

وقتی دیوار آتش مقصدها را محدود می‌کند، از راهنمای نام میزبان منتشرشده فایربیس استفاده کنید؛ این راهنما فهرست‌های ثابت IP مجاز را توصیه نمی‌کند، زیرا نشانی‌ها می‌توانند تغییر کنند. دستگاه‌ها همچنین به DNS سالم و مسیری پایدار برای اتصال طولانی‌مدت خود نیاز دارند.

اگر فرستنده در هنگام دریافت توکن یا درخواست Admin API شکست بخورد، همان انتقال HTTP سمت سرور را عیب‌یابی کنید. برای رابط‌های HTTP در Firebase Admin Java، انتقال API و انتقال اعتبارنامه‌ها را با هم پیکربندی کنید. اگر ارسال موفق شد اما تحویل شکست خورد، آن نتیجه را حفظ کنید و مسیر دستگاه را بررسی کنید، نه اینکه مکرراً اعتبارنامه‌های پروکسی بک‌اند را جایگزین کنید.

مقالات مرتبط