使用Samsung Note 5设备上的全新安装应用程序以及我的模拟器上,通过Firebase控制台发送的一些通知在这两台设备上正确接收。
但是一天后,我的模拟器重新打开,我的手机重新连接到Wifi,我又开始在Firebase控制台上创建一些通知消息,但这些设备没有收到来自Firebase的任何消息。
我关掉并打开手机的Wifi,然后手机收到了这些通知。我在我的模拟器上打开并关闭了平面模式,然后模拟器收到了这些通知。我的应用程序有问题吗?或者使用Firebase? (我已经使用WAKE_LOCK
权限)。有什么建议吗?
谢谢!
答案 0 :(得分:0)
在我更改了设备的Wifi连接后,它似乎工作正常。
来自@ AL的评论:
Android设备可能已连接到 无线网络,但你的Wifi需要像互联网刷新一样 连接再次工作,这与设备的情况相同 连接到它。
我仍然不确定为什么,但他的评论使这个有效。
答案 1 :(得分:0)
很高兴知道,@ AL给出了一个问题的暗示,你也得到了它。我在这里就我的问题提出了一些想法。
由于您已经使用推送通知,我认为您几乎了解其实际工作原理。如果您想要简短的简介,可以选择look at this answer。
现在,您已经知道,您需要在应用程序启动时从FCM获取推送注册ID。此推送注册ID是FCM知道何时以及如何向您发送推送通知的唯一ID。每次启动应用程序时,此推送注册ID都不会更改,但是,它会更改一些时间。如果您的推送注册ID已更改,但您无法从FCM获取新推送注册ID,则推送通知在该时间内无法正常工作。这通常是一个网络问题,但如果发生这种情况则不要惊慌。
我需要指出的另一件事是,并不总是保证在您的设备/设备中接收推送通知。因此,如果您在应用程序中收到推送通知时执行某些操作,则可能需要使操作也安全失败(例如,如果没有收到推送,您可能会考虑在一定时间后进行轮询)。