【发布时间】:2018-09-26 20:12:54
【问题描述】:
有没有办法在每次收到推送通知并且应用程序关闭而不是在后台时将徽章加一?
我目前正在服务器端管理徽章计数,并将更新后的徽章计数包含在有效负载中。然而,在需要发送多个通知的情况下(例如聊天室情况),这在服务器上是乏味且昂贵的。我不需要将 deviceToken 数组传递给 apns 服务器,而是需要使用该设备的徽章编号遍历每个设备。
我希望在所有情况下(包括应用关闭而不是在后台)收到推送通知时,在设备上本地增加徽章计数。
【问题讨论】:
-
虽然我不知道,但从逻辑上讲,您似乎做不到。您应该检查应用程序何时(重新)启动。什么样的操作系统功能——尤其是 iOS——能够处理这样的事情?
-
如果您的应用符合 VoIP 应用的条件,那么您可以使用 Pushkit 通过静默推送通知在后台重新启动应用。
-
如果没有 VoIP 资格,则当应用程序不在前台或后台时,无法增加徽章计数。您只能将某个徽章值设置为有效负载的一部分。为了实现这一点,每次发送推送通知以响应您的操作时,您都需要在后端数据库中为您的用户增加一个徽章字段。当用户在服务器端下载对象时,然后将徽章计数重置为获取对象服务器代码的一部分。
标签: ios swift xcode apple-push-notifications badge