我们正在为我们的Android应用程序使用FCM。
但我们的客户对其网络有防火墙限制。 他们给了端口(5228,5229,5230)允许从FCM发送消息,但是我们无法在初始状态获得令牌。
我们连接到其他网络以获取令牌,然后再次连接受限制的网络并成功发送通知。
是否必须为FCM服务的令牌注册提供其他权限?
答案 0 :(得分:5)
以下是Firebase文档中有关firewall and network restriction的说明:
如果您的组织有防火墙限制进出Internet的流量,则需要将其配置为允许移动设备与FCM连接,以便网络上的设备接收消息。 FCM通常使用端口5228,但有时使用5229和5230。
对于传出连接,FCM不提供特定的IP,因为我们的IP范围变化太频繁,您的防火墙规则可能会过时影响您的用户'经验。理想情况下,您将端口5228-5230列入白名单,不受IP限制。但是,如果您必须具有IP限制,则应将Google的ASN中列出的IPv4和IPv6块中的所有IP地址列入白名单15199.这是一个很大的列表,您应该计划每月更新规则。防火墙IP限制引起的问题通常是间歇性的,难以诊断。
要为传入消息打开的端口:
- 5228
- 5229
- 5230
允许传出连接的端口:
其中一个(首选选项#1):
- 没有IP限制
- 列出的IP块中包含的所有IP地址 在Google's ASN of 15169。不要忘记至少更新一次 一个月。
网络地址转换和/或状态数据包检测防火墙:
如果您的网络实施网络地址转换(NAT)或状态数据包检测(SPI),请通过端口5228-5230为我们的连接实施30分钟或更长的超时。这使我们能够提供可靠的连接,同时减少用户的电池消耗。移动设备。