我正在使用FCM进行IM应用程序。当所有设备都处于良好的互联网连接状态时,一切正常,但是,有一种特殊情况导致用户体验变得很糟糕。
当设备连接到接入点(Wi-Fi网络或移动网络)但由于某种原因,软件包不会对设备产生影响(信号较弱或连接不良,可以说是边缘或3G,有时甚至在wi-fi上。
默认情况下,FCM将所有推送排队,并在它再次联机后将其重新发送到设备。这是事情变得复杂的地方。我认为告诉FCM设备在线的事件是NetworkStateChanged。问题是,在上面描述的场景中,网络状态不会改变,只有真正的交付包的能力,因此,FCM服务器需要永远识别设备重新联机 - 我知道它是在线的'导致对我的AppServer的其他调用成功发生。
所以我的问题是:有没有办法“ping”FCM并通知设备在线?