2

我正在使用java-apns库。类中方法badge的JavaDocPayloadBuilder指出:

将通知标记设置为显示在应用程序图标旁边。传递的值是应该显示的值(它将添加到之前的徽章编号),并且 0 的徽章清除徽章指示器。

但是,始终将 1 传递给方法不会增加应用程序图标上的徽章编号。它卡在 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}}
4

1 回答 1

1

您需要在有效负载中包含“徽章”,它不会累积。

我想你需要设置:payloadBuilder.badge(15); // 15 is the total

请参阅此苹果文档

于 2013-08-14T15:47:21.100 回答