我正在使用fcm通过向firebase数据库写入数据来发送用户通知及其触发。但是当用户离线时,通知发送但从未收到,用户在重新上线后无法看到它。如何在所有条件下发送通知。
示例:如果用户在线正常发送消息但是如果用户离线则等待用户在线并发送消息。我怎样才能做到这一点?
根据文件firebase云消息已经支持我想要的东西。
如果设备未连接到FCM,则会存储消息,直到建立连接(再次遵循折叠键规则)。建立连接后,FCM会将所有未决消息传递给设备。如果设备再也没有连接(例如,如果它是出厂重置),则消息最终超时并从FCM存储中丢弃。除非设置了time_to_live标志,否则默认超时为四周。
所以FCM服务等到客户端设备再次连接。当cliend连接时发送通知。但是如果用户没有连接四周,则消息将自行删除并且从未发送。
https://firebase.google.com/docs/cloud-messaging/concept-options#ttl