如何在多个iOS设备上同步推送通知?

时间:2015-12-31 17:09:10

标签: ios push-notification apple-push-notifications

如何在多个iOS设备上同步推送通知?

情景是: 用户在两台设备上安装了应用程序。 两台设备都会收到远程通知。 用户在一台设备上打开应用程序。 其他设备上的推送通知应该消失。

这是由许多应用程序完成的,例如: Facebook Messenger,但这是如何实现的?

(SWIFT)

2 个答案:

答案 0 :(得分:4)

这是我实现的一种方式:

  • 收到推送通知后(必须是具有'内容可用'标志的那种,以便它被发送到您的应用,即使用户没有点击它),应用程序应该调用您的服务器,通知服务器收到它。请注意,拥有该标志意味着您的应用可能会获得两次pushnotificatins:一次是系统收到,第二次是用户点击它。或者它可能根本没有进入,但这是另一个讨论。
  • 响应此调用,服务器应向此帐户注册的其他设备发送静默推送通知(可选择自定义有效负载)
  • 收到此推送通知后,其他客户端将应用程序横幅计数设置为零(这将清除通知中心的推送通知。这未正式记录,因此可能会停止在将来的版本中工作的iOS)。

答案 1 :(得分:2)

我认为以下内容应该有效(通常需要注意):

  1. content-available中发送无声推送通知(aps设置,无警报/声音/徽章,但在2中发送通知的详细信息。)
  2. 使用1中的数据创建本地通知,立即显示,并保留对它的引用
  3. 当用户对本地通知执行操作时,向服务器发送请求以使其知道
  4. 服务器向同一用户的所有其他设备发送另一个静默通知,让他们知道要删除通知
  5. 收到后,取消在2中创建的本地通知。