从推送中重置应用程序图标上的徽章

Posted

技术标签:

【中文标题】从推送中重置应用程序图标上的徽章【英文标题】:Reset badge on app icon from push 【发布时间】:2015-12-11 12:05:51 【问题描述】:

我使用 parse 向 iosandroid 用户发送推送。由于某种原因,解析界面更新默认设置“增加应用程序徽章?”后已启用,所有 iOS 用户现在都会看到带有“1”的红色徽章。

在我当前的应用版本中。我的应用程序中没有任何删除徽章的代码。 如何为我的用户重置此徽章?也许我可以发送一些推送来将它的数字设置为等于 0?

【问题讨论】:

是的,使用0 推送会有所帮助。 怎么做?例如来自 parse.com 界面? 【参考方案1】:

您应该点击JSON,而不是选择text

类似的东西:

对于每个通知,组成一个 JSON 字典对象(定义为 RFC 4627)。此词典必须包含另一个已识别的词典 通过关键的aps。 aps 字典可以包含一个或多个属性 指定以下用户通知类型:

向用户显示的警报消息 用于标记应用程序图标的数字 播放声音

从这里:https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/ApplePushService.html

你也可以使用"content-available" : 1创建一个静默推送通知,用户会收到推送但不会通知,所以你可以发送这个推送来清除徽章

【讨论】:

这是一个很好的解决方案!谢谢!我发现对于静默推送,有必要在没有“警报”的情况下发送 JSON【参考方案2】:
func applicationDidBecomeActive(application: UIApplication) 
  let inst = PFInstallation.currentInstallation()
  if inst.badge != 0
    inst.badge = 0
    inst.saveEventually()
  

如果您想在不更新应用的情况下执行此操作,您可以通过 Parse 网站发送 Push 并设置 badge : 0

【讨论】:

我只能将它添加到新版本的应用程序 - 但它将在大约一周内可用 - 我想现在重置它) 发送然后推送badge : 0

以上是关于从推送中重置应用程序图标上的徽章的主要内容,如果未能解决你的问题,请参考以下文章

增量后清除推送通知徽章

在 Swift 中收到推送时添加徽章

Expo - 实施通知设置应用程序图标徽章编号

在 iPhone 中获取推送通知时徽章图标不会增加?

本地通知中的应用程序图标徽章是不是会被推送通知有效负载徽章覆盖?

如何在后台的android应用程序图标上计算推送通知消息徽章