Gửi FCM qua proxy không định tuyến kết nối của điện thoại
Tách tuyến Admin API của Firebase khỏi kết nối mạng FCM liên tục của thiết bị Android nhận.
Một backend có thể gửi thành công yêu cầu Firebase Cloud Messaging qua proxy của doanh nghiệp trong khi thiết bị Android không bao giờ nhận được thông báo. Yêu cầu Admin API của backend và kết nối FCM của thiết bị là hai tuyến riêng biệt.
Hướng dẫn mạng của Firebase nêu rõ giao thức thiết bị của FCM không thể được proxy qua proxy mạng. Việc cấu hình máy khách HTTP ở phía gửi không biến kết nối thiết bị liên tục đó thành yêu cầu proxy HTTP.
Đối với thiết bị Android, các cổng TCP đích được ghi trong tài liệu là 5228, 5229, 5230 và 443. FCM thường dùng 5228, các cổng khác cũng có sẵn. Áp dụng chính sách phù hợp trên mạng mà các thiết bị nhận kết nối.
Dùng hướng dẫn tên máy chủ do Firebase công bố khi tường lửa hạn chế đích đến; hướng dẫn này không khuyến khích danh sách IP được phép cố định vì địa chỉ có thể thay đổi. Thiết bị cũng cần DNS hoạt động và một tuyến ổn định cho kết nối dài hạn của chúng.
Nếu bên gửi thất bại khi lấy token hoặc trong một yêu cầu Admin API, hãy chẩn đoán phương thức truyền HTTP phía máy chủ đó. Với các giao diện HTTP của Firebase Admin Java, cấu hình đồng thời phương thức truyền của API và thông tin xác thực. Nếu gửi thành công nhưng phân phối thất bại, hãy giữ lại kết quả đó và điều tra tuyến của thiết bị thay vì liên tục thay thông tin xác thực proxy của backend.