3

我在我的 iOS 应用程序中使用推送通知,但问题是 - 系统中具有不同 ID 的多个用户可以使用同一设备,我只想向登录的用户发送推送通知,但现在通知甚至到达设备如果其他用户已登录。我知道 APNS 仅通过设备令牌识别推送...

但是有没有办法根据用户 ID 或其他信息发送推送通知,而不仅仅是设备令牌?

4

2 回答 2

6

你必须自己管理它。

  • 每当用户登录到您的应用程序时,通知您的服务器(将用户 ID 发送到服务器)。
  • 每当用户注销时执行相同的操作。
  • 在您的服务器中,根据当前登录的用户(您必须管理一个数据库,该数据库包含当前登录用户的每个设备令牌),您可以决定将哪个推送通知发送到设备。
于 2013-04-29T17:53:35.057 回答
1

我认为 iOS 推送通知不适合您的问题。这就是为什么

考虑您的应用程序有多个用户使用同一设备。您有一个简单的场景,用户可以将任务分配给其他用户,并且他们希望在任务分配给他们时收到通知

您在服务器上映射自己的“用户到设备令牌”。考虑用户 A 和用户 B。他们都注册接收通知。所以在服务器上,他们俩都将在他们的设备令牌的映射中有一个条目

现在,用户 B 已注销——您将通过删除用户 B 的令牌在服务器上进行更新?或者说使用标志来更新他退出的状态?

用户A现在给用户B分配了一个任务,在服务器上,可以看到用户B没有映射或者映射状态不活跃?

通知会发生什么?

您最终会在用户 b 登录之前排队等待通知吗?然后再推?但是你又怎么知道什么时候再推?

最好在应用程序中提供一些 UX 以获取点击通知或定期轮询服务器以获取任何通知

于 2015-03-18T23:20:27.103 回答