根据ios中的未读消息更新应用图标的徽章计数

Posted

技术标签:

【中文标题】根据ios中的未读消息更新应用图标的徽章计数【英文标题】:Update Badge count of app icon according to unread message in ios 【发布时间】:2014-05-21 04:33:25 【问题描述】:

我需要未读的计数值作为徽章编号。并且应用图标的徽章编号必须根据未读消息计数减少和增加。(如果有新的未读消息则增加,如果读取未读消息则减少)

->[“Unread”是未读消息的计数。]

NSString *unread =[[NSUserDefaults standardUserDefaults]valueForKey:@"unread"];                 
int badge = [unread intValue];
[UIApplication sharedApplication] setApplicationIconBadgeNumber:badge];

【问题讨论】:

那么你的问题是什么? 【参考方案1】:

通常当您收到以下格式的 JSON 时,操作系统会设置徽章编号:


    "aps" : 
        "alert" : "New notification!",
        "badge" : 2
    

因此服务器设置了徽章编号,这意味着您必须跟踪用户有多少通知。

在客户端,您必须像这样清除通知:

application.applicationIconBadgeNumber = application.applicationIconBadgeNumber - 1; // Decrement counter

或者您可以将它们全部设置为 0,并假设一旦打开应用程序就会读取它们,如下所示:

application.applicationIconBadgeNumber = 0;

【讨论】:

以上是关于根据ios中的未读消息更新应用图标的徽章计数的主要内容,如果未能解决你的问题,请参考以下文章

TideSDK - 显示未读计数(图标徽章)

重新安装应用后 Xamarin.iOS 应用图标上的徽章计数不正确

Android 未读消息计数显示在应用程序图标上

我可以在 ios 应用程序图标上显示星号或圆点而不是徽章计数吗? [关闭]

通过推送通知处理我的应用程序徽章计数的最佳方式是啥?

XMPP 上的未读消息计数