Android 设备有时无法实时接收 Firebase 通知
Android device doesn't receive Firebase Notification realtime, sometime
在我的 Samsung Note 5 设备和我的模拟器上全新安装的应用程序,通过 Firebase 控制台发送的一些通知在这两个设备上被正确接收。
但一天后,我的模拟器重新打开,我的 phone 重新连接到 Wifi,我又开始在 Firebase 控制台上创建一些通知消息,但这些设备没有收到来自 Firebase 的任何消息。
我关闭并打开了 phone 的 Wifi,然后 phone 收到了这些通知。我在模拟器上打开和关闭平面模式,然后模拟器收到了这些通知。我的应用程序有问题吗?或者使用 Firebase? (我已经使用了 WAKE_LOCK
权限)。有什么建议吗?
谢谢!
我更改了设备的 Wifi 连接后,现在似乎可以正常工作了。
来自@AL 的评论:
There might be a chance that the Android device is connected to the
Wifi, but your Wifi needs something like a refresh for the internet
connection to work again, which is the same case for the devices
connected to it.
我仍然不确定为什么,但他的评论使它有效。
很高兴知道,@AL 提示了这个问题,你也让它工作了。我来这里是为了就您的问题发表一些想法。
由于您已经使用过推送通知,所以我想您对它的实际工作原理非常了解。如果你想要一个简短的摘要,你可能需要 。
现在,您已经知道,您需要在应用程序启动时从 FCM 获取推送注册 ID。此推送注册 ID 是唯一的 ID,FCM 通过它知道何时以及如何向您发送推送通知。这个推送注册 ID 不会在您每次启动您的应用程序时改变,但是是的,它有时会改变。当您的推送注册 ID 已更改,但您无法从 FCM 获取新的推送注册 ID 时,推送通知将无法正常工作。虽然这通常是网络问题,但如果发生这种情况,请不要惊慌。
我需要指出的另一件事是,推送通知并不总是能保证在您的 device/devices 中收到。因此,如果您在应用程序中收到推送通知时正在执行某些操作,您可能也需要使操作失败安全(例如,如果没有收到推送,您可能会考虑在特定时间后进行轮询)。
在我的 Samsung Note 5 设备和我的模拟器上全新安装的应用程序,通过 Firebase 控制台发送的一些通知在这两个设备上被正确接收。
但一天后,我的模拟器重新打开,我的 phone 重新连接到 Wifi,我又开始在 Firebase 控制台上创建一些通知消息,但这些设备没有收到来自 Firebase 的任何消息。
我关闭并打开了 phone 的 Wifi,然后 phone 收到了这些通知。我在模拟器上打开和关闭平面模式,然后模拟器收到了这些通知。我的应用程序有问题吗?或者使用 Firebase? (我已经使用了 WAKE_LOCK
权限)。有什么建议吗?
谢谢!
我更改了设备的 Wifi 连接后,现在似乎可以正常工作了。
来自@AL 的评论:
There might be a chance that the Android device is connected to the Wifi, but your Wifi needs something like a refresh for the internet connection to work again, which is the same case for the devices connected to it.
我仍然不确定为什么,但他的评论使它有效。
很高兴知道,@AL 提示了这个问题,你也让它工作了。我来这里是为了就您的问题发表一些想法。
由于您已经使用过推送通知,所以我想您对它的实际工作原理非常了解。如果你想要一个简短的摘要,你可能需要
现在,您已经知道,您需要在应用程序启动时从 FCM 获取推送注册 ID。此推送注册 ID 是唯一的 ID,FCM 通过它知道何时以及如何向您发送推送通知。这个推送注册 ID 不会在您每次启动您的应用程序时改变,但是是的,它有时会改变。当您的推送注册 ID 已更改,但您无法从 FCM 获取新的推送注册 ID 时,推送通知将无法正常工作。虽然这通常是网络问题,但如果发生这种情况,请不要惊慌。
我需要指出的另一件事是,推送通知并不总是能保证在您的 device/devices 中收到。因此,如果您在应用程序中收到推送通知时正在执行某些操作,您可能也需要使操作失败安全(例如,如果没有收到推送,您可能会考虑在特定时间后进行轮询)。