iOS - 用户禁用通知的应用程序如何更新其徽章?

Posted

技术标签:

【中文标题】iOS - 用户禁用通知的应用程序如何更新其徽章?【英文标题】:iOS - How do apps whose users disabled notifications get their badge updating? 【发布时间】:2017-03-05 04:09:46 【问题描述】:

鉴于您可能禁用了推送通知,Messenger、whatsapp 等应用程序如何在您收到新消息时更新其徽章? (和我一样)

换句话说,当用户不允许通知时,让用户知道他收到了新消息的正确方法是什么?

所有这些应用程序是否只是安排了一个循环任务,不断询问服务器是否有新内容?这听起来既不现实也不高效。

或者是否有某种机制允许服务器将信息发送到应用程序? (鉴于通知已被禁用,再次)

【问题讨论】:

【参考方案1】:

您可能想查看 Apple 的 PushKit framework。它通常用于 VoIP 呼叫。与普通推送通知不同,来自 PushKit 框架的静默推送由 Apple 保证以高优先级交付。即使用户在设置中禁用推送通知,手机仍会收到这些推送通知。由于您提到的两个应用程序都有 VoIP 呼叫,因此即使用户禁用了推送通知,也可以使用 PushKit 框架。

【讨论】:

【参考方案2】:

ios8+ 上,您可以向您的应用发送静默推送通知以更新您的徽章,只要用户开启了后台应用刷新。即使用户选择退出推送通知,它也能正常工作。

在此处查看问题:Is Silent Remote Notifications possible if user has disabled push for the app?

【讨论】:

以上是关于iOS - 用户禁用通知的应用程序如何更新其徽章?的主要内容,如果未能解决你的问题,请参考以下文章

如何更新通知徽章编号?

如何在iOS推送通知上进行徽章增量

在 ios7 中更新推送通知的徽章计数

在 ios7 中更新推送通知的徽章计数

iOS 应用更新通知

ios - 应用程序关闭时本地通知不更新徽章编号