在创建主题之前或订阅之前发送通知 FCM
Posted
技术标签:
【中文标题】在创建主题之前或订阅之前发送通知 FCM【英文标题】:Sent notification FCM before topic was created or before subscription 【发布时间】:2018-04-11 10:43:14 【问题描述】:场景:向主题“X”发送通知,过期时间为 4 周。 什么时候发生:
-
主题不存在,没有人订阅。然后一小时后,
有人订阅它。此设备会收到此通知吗?
主题存在或存在(有一个订阅者,但他没有订阅),现在他在发送一小时后再次订阅。它会得到吗?
一个或多个设备正在订阅主题 X。他们都知道了。与往常一样,在发送后一小时后,一个新设备现在订阅了它。它会得到它吗?
有些东西对所有这些答案都说“不”,但在 fcm 文档中找到该答案时遇到问题。
如果我猜对了,有什么办法可以得到以前的通知?假设对业务来说这很重要,通知只存在一个小时,但在此期间他可以更改订阅,回来后,他想收到该通知。
【问题讨论】:
【参考方案1】:当您向其发送消息或有人订阅它们时,会自动创建 FCM 主题。
设备只接收订阅后发送到主题的消息。它不会收到未订阅时发送到该主题的消息。
由于在所有三个问题中,消息都会在设备未订阅时发送到主题,因此它不会收到这些消息。
对于这种类型的场景,您需要使用持久性数据库,而不是瞬态消息传递机制。例如。您可以将每个主题的消息存储在数据库中,并在订阅该主题时授予设备访问该数据库的权限。
【讨论】:
好的,谢谢。完全有道理;)但不确定。感谢您的回答!以上是关于在创建主题之前或订阅之前发送通知 FCM的主要内容,如果未能解决你的问题,请参考以下文章
向订阅主题的所有用户推送通知,使用 FCM Firebase 的登录用户除外