java - APNS-java 不会在 iOS 应用程序上增加角标(Badge)编号

标签 java ios apple-push-notifications badge

我正在使用 java-apns图书馆。 PayloadBuilder 类中方法 badge 的 JavaDoc 指出:

Sets the notification badge to be displayed next to the application icon. The passed value is the value that should be displayed (it will be added to the previous badge number), and badge of 0 clears the badge indicator.

但是,始终将 1 传递给方法不会增加应用程序图标上的角标(Badge)编号。它卡在 1(或我传递的数字)上。

是否有可能解决这个问题或文档有误?我不想在服务器端保留客户端上有多少未读通知并自行管理该数字作为解决方法。因为我知道如果设备长时间无法访问并且很容易不同步,Apple 可能会丢弃通知。

我的代码示例:

PayloadBuilder payloadBuilder = APNS.newPayload().alertBody("Test message");
payloadBuilder.actionKey("OK");
payloadBuilder.badge(1);

和来自控制台的 JSON 负载:

Payload={"aps":{"alert":{"body":"Test message","action-loc-key":"OK"},"badge":1}}

最佳答案

您需要在有效负载中包含“角标(Badge)”,它不会累积。

我猜你需要设置:payloadBuilder.badge(15);//15 是总数

看到这个苹果doc .

关于java - APNS-java 不会在 iOS 应用程序上增加角标(Badge)编号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18236154/

相关文章:

java - 如何管理同一项目中两个不同测试套件的 POM Surefire 插件

java - Throws 关键字不能与线程的 run 方法一起使用

iphone - apns需要ssl吗?

Iphone/IOS - 调试应用程序崩溃

ios - UINavigationController 在转换到另一个 VC 时删除阴影

ios - 静默推送通知未在 iOS 11.2.6 中得到处理

linux - 如何在 Linux (Fedora 14) 平台上安装 Entrust 的 Apple 根证书?

java - 如何检测何时单击(选择)jsp 日历中的某一天并执行某些操作?

java - 如何让 Java 反射(reflect)到父类(super class)中的点字段?不仅仅是实际的类(class)

ios - 圆形 UITableViewCell 仅底部或顶部角,但它不适用于 Swift iOS 10