【发布时间】:2017-05-31 17:03:37
【问题描述】:
我已经设法实现了一个允许我创建一个设备组、从中添加和删除注册 ID 并向它发送消息的实现,但现在我意识到我不明白我应该什么时候调用它方法。
我最初的想法是
- 在用户注册应用时创建设备组
- 在用户登录时向设备组添加注册 ID
- 删除用户注销时我在登录时添加的注册ID
这样做的问题是,如果用户仅在一台设备上登录到应用程序并且他注销了,那么当我删除注册 ID 时,设备组将被删除。这意味着在用户再次登录之前,我将无法通知用户任何事情。但这不应该是它的工作方式,例如在 Facebook 中,即使您在进入后没有登录也会收到旧通知。
但是如果我不删除注销时的注册 ID,问题是两个设备组可以在里面有相同的注册。当我的应用程序安装在手机中(在 Android 的情况下)时,它会生成一个注册 ID,到目前为止,我可以调试的是它唯一一次生成一个。这意味着如果用户登录、注销然后新用户登录,我可以将该注册 ID 添加到两个用户设备组。这是否意味着他们都会收到通知?
我可以通过执行here 解释的操作,在用户登录时强制生成新令牌,但我想必须有比这种解决方法更好的方法。
另外,有时我需要删除注册 ID,否则我将达到 20 个限制。
所以我的问题是设备组的正确(或正确)生命周期是什么,它考虑了我所描述的问题以及我尚未发现的任何其他问题。 谢谢!
额外问题:如果我向设备组发送通知,然后在收到通知之前,用户登录新设备并将其注册 ID 添加到设备组,将它收到通知?我猜他不会。
【问题讨论】:
标签: android firebase firebase-cloud-messaging