具有推送通知的用户上下文的设备令牌的生命周期

时间:2014-12-18 00:08:02

标签: ios apple-push-notifications lifecycle devicetoken

我理解以下问题与代码没有直接关系,但我们确实需要一些关于推送通知的最佳实践的输入。

我们目前正在构建一个聊天应用程序,该应用程序使用推送通知来通知用户新消息可用。这不是什么新鲜事,也没什么特别的......我们还有已经存在的代码可以让我们这样做:

  • 设备启动应用请求设备令牌
  • 获取设备令牌
  • 使用推送服务器注册
  • 完成并且有效

然而,我的问题是关于应用用户上下文更改时该怎么做。例如:

  1. 用户A登录app,接收设备令牌,注册设备
  2. 用户A注销
  3. 用户B在同一设备上登录应用程序,获取相同的设备令牌,再次注册设备但设备已知。
  4. 此时我们遇到的问题是应用仍会收到来自用户A的推送通知,因为推送服务器认为此设备仍在用户上下文A中。

    当然,我们可以实现取消注册功能,在注销时删除设备,但如果应用程序被删除并重新添加会发生什么。例如:

    1. 用户A记录并接收推送通知
    2. 用户B删除相同设备上的应用
    3. 用户B再次下载应用并获取设备令牌
    4. 此时,即使没有用户登录,设备也会再次收到来自用户A的推送通知。

      在我看来,我们错过了我们思考的关键一步,但我们不知道那是什么......我们无法请求新的设备令牌。

      提前致谢

0 个答案:

没有答案