iOS应用程序图标上的新消息徽章

时间:2015-12-17 14:05:09

标签: ios push-notification ibm-cloud badge

我需要显示类似的内容,以显示我的应用有新的通知。

enter image description here

但我不想跟踪新通知的数量。只是一个徽章,显示有新的,应该就够了。理想情况下,徽章是一个带有" ..."。

的红色圆圈

我将如何实现这一目标?

4 个答案:

答案 0 :(得分:2)

你应该提供一些"未读"徽章中的通知。 Apple人机界面指南不鼓励将徽章用于除通知之外的其他目的。

您可能无法在AppStore中批准销售该应用。

答案 1 :(得分:1)

由于我知道您在Bluemix上使用IBM推送通知服务,因此有一种简单的方法可以实现此目的。使用IBM推送通知服务发送推送通知时,您可以将徽章值指示为可选有效负载的一部分:

  

iOS徽章 - 对于iOS设备,要显示为应用图标徽章的数字。如果此属性不存在,则不会更改徽章。至   删除徽章,将此属性的值设置为0。

如果您通过Bluemix推送仪表板发送推送通知,您只需输入成功收到通知后要显示的徽章值:

BadgeIconOption

如果您通过Node.js,REST等发送推送通知,则可以将徽章值添加为选项参数。请查看REST API文档中提供的模型以查看正确的结构:

https://mobile.ng.bluemix.net/imfpushrestapidocs/#!/messages/post_apps_applicationId_messages

apns {
badge (integer, optional): The number to display as the badge of the application icon,
.
.
.
}

答案 2 :(得分:0)

它应该只是数字。不能为你的要求提供像“......”这样的字符串。

答案 3 :(得分:-1)

据我所知,您必须首先注册本地或推送通知才能在应用图标上显示徽章编号。

万一你还没有完成,这里是注册本地通知的代码

if (UIApplication.instancesRespondToSelector(Selector("registerUserNotificationSettings:"))) {
            UIApplication.sharedApplication().registerUserNotificationSettings(UIUserNotificationSettings(forTypes: [UIUserNotificationType.Alert, UIUserNotificationType.Badge], categories: nil))
        }
didFinishLaunchingWithOptions

AppDelegate方法中的

然后在视图控制器的UIApplication.sharedApplication().applicationIconBadgeNumber = 34方法中尝试viewDidLoad进行测试

如果您使用推送通知

,徽章价值将由服务器维护