我有一个iOS应用程序,用户可以使用不同的账户登录和退出。(这些账户特定于我们的服务)。
我还使用APNs将后端服务器推送的通知发送到应用程序,当发生有趣的事情时。
以下情况描述了我的问题:
- 用户A启动应用程序并登录。生成设备令牌并发送到服务器。 - 用户A注销应用程序。 - 用户B登录应用程序。 - 后端服务器向属于用户A的设备发送通知。然而,现在用户B已经登录到该设备。(他们共享相同的设备令牌) - 用户B“接收”通知。(即使对当前帐户无效,手机也会显示通知)
是否有人解决过类似的问题?我可以想到几种解决方案,如:
- 手动刷新设备令牌。(我不知道是否可行) - 接收通知 - 但仅在意图用户登录时显示它。但是,我认为这是不可能的,因为系统负责显示通知而不是我的应用程序。 - 更改后端,以便用户在在线和离线时告诉它,并在离线时不发送通知。 (此解决方案将引起许多问题,我认为它也不能完全解决问题,因此我想避免这种情况)
这些解决方案都不理想,我没有找到更好的解决方案。我认为例如Facebook必须解决了类似的问题,可能还有许多其他问题。
感谢对此的任何意见。
FYI. 我将在Android上面临完全相同的问题,但我选择在Stack Overflow上分开提问。
我还使用APNs将后端服务器推送的通知发送到应用程序,当发生有趣的事情时。
以下情况描述了我的问题:
- 用户A启动应用程序并登录。生成设备令牌并发送到服务器。 - 用户A注销应用程序。 - 用户B登录应用程序。 - 后端服务器向属于用户A的设备发送通知。然而,现在用户B已经登录到该设备。(他们共享相同的设备令牌) - 用户B“接收”通知。(即使对当前帐户无效,手机也会显示通知)
是否有人解决过类似的问题?我可以想到几种解决方案,如:
- 手动刷新设备令牌。(我不知道是否可行) - 接收通知 - 但仅在意图用户登录时显示它。但是,我认为这是不可能的,因为系统负责显示通知而不是我的应用程序。 - 更改后端,以便用户在在线和离线时告诉它,并在离线时不发送通知。 (此解决方案将引起许多问题,我认为它也不能完全解决问题,因此我想避免这种情况)
这些解决方案都不理想,我没有找到更好的解决方案。我认为例如Facebook必须解决了类似的问题,可能还有许多其他问题。
感谢对此的任何意见。
FYI. 我将在Android上面临完全相同的问题,但我选择在Stack Overflow上分开提问。
unregisterForRemoteNotifications()
,所以非常感谢你! - Joakim