Android设备有时无法实时接收Firebase Notification

时间:2016-12-09 04:09:21

标签: android firebase firebase-notifications

使用Samsung Note 5设备上的全新安装应用程序以及我的模拟器上,通过Firebase控制台发送的一些通知在这两台设备上正确接收。

但是一天后,我的模拟器重新打开,我的手机重新连接到Wifi,我又开始在Firebase控制台上创建一些通知消息,但这些设备没有收到来自Firebase的任何消息。

我关掉并打开手机的Wifi,然后手机收到了这些通知。我在我的模拟器上打开并关闭了平面模式,然后模拟器收到了这些通知。我的应用程序有问题吗?或者使用Firebase? (我已经使用WAKE_LOCK权限)。有什么建议吗?

谢谢!

2 个答案:

答案 0 :(得分:0)

在我更改了设备的Wifi连接后,它似乎工作正常。

来自@ AL的评论:

  

Android设备可能已连接到   无线网络,但你的Wifi需要像互联网刷新一样   连接再次工作,这与设备的情况相同   连接到它。

我仍然不确定为什么,但他的评论使这个有效。

答案 1 :(得分:0)

很高兴知道,@ AL给出了一个问题的暗示,你也得到了它。我在这里就我的问题提出了一些想法。

由于您已经使用推送通知,我认为您几乎了解其实际工作原理。如果您想要简短的简介,可以选择look at this answer

现在,您已经知道,您需要在应用程序启动时从FCM获取推送注册ID。此推送注册ID是FCM知道何时以及如何向您发送推送通知的唯一ID。每次启动应用程序时,此推送注册ID都不会更改,但是,它会更改一些时间。如果您的推送注册ID已更改,但您无法从FCM获取新推送注册ID,则推送通知在该时间内无法正常工作。这通常是一个网络问题,但如果发生这种情况则不要惊慌。

我需要指出的另一件事是,并不总是保证在您的设备/设备中接收推送通知。因此,如果您在应用程序中收到推送通知时执行某些操作,则可能需要使操作也安全失败(例如,如果没有收到推送,您可能会考虑在一定时间后进行轮询)。