如果通知在脱机时发送,Android是否可以检索FCM通知

书史足自悦,安用勤与劬。这篇文章主要讲述如果通知在脱机时发送,Android是否可以检索FCM通知相关的知识,希望能为你提供帮助。
我正在使用firebase云消息,我想知道是否可以向离线设备发送通知,然后在它上线后接收它。
客户端我通过主题向虚拟设备发送通知(Nexus 5 API 27)我使用以下依赖项:

compile 'com.google.firebase:firebase-auth:11.8.0' compile 'com.google.firebase:firebase-core:11.8.0' compile 'com.google.firebase:firebase-database:11.8.0' compile 'com.google.firebase:firebase-messaging:11.8.0'

服务器端我有一个发送POST请求的java服务器:
网址:https://fcm.googleapis.com/v1/projects/PROJECT_ID/messages:send

Authorization : Bearer < token OAuth2> Content-Type : application/json

身体
{ "message": { "topic":"topicName", "data": { "infoKey": "infoValue", } } }

启动虚拟机后,我会快速收到通知。但是,如果我的虚拟设备关闭且我的服务器发送通知,则即使等待超过10毫秒,客户端也不会收到通知。这是正常的吗?我觉得我做错了什么,因为当我阅读文档时,通知应该存储,直到有人读取它为止:
https://firebase.google.com/docs/cloud-messaging/concept-options#ttl

有谁知道我犯了错误,或者我是否对FCM的功能过分了解?
谢谢。
答案这应该是正确的行为。当设备离线或打瞌睡时,它会在感觉需要或设备唤醒时立即发送。 https://firebase.google.com/docs/cloud-messaging/concept-options#lifetime
您可以尝试使用优先级,以便在设备开启后更快地发送通知,如果您需要尽快发送。
另一答案你很好。
但是现在谷歌不会在用户的基础上提供任何历史记录功能。
我可以建议一个简单的方法来解决这个问题。您可以记录您在服务器端发送给用户的通知。在用户端,每当收到通知时,保持另一条记录。
每当用户上线时,只记录两个记录并使用restful service获取丢失的记录。您可以使用各种参数来记录时间戳,令牌等记录。
【如果通知在脱机时发送,Android是否可以检索FCM通知】希望这可以帮助。

    推荐阅读