【问题标题】:APNS-java does not increment badge number on iOS applicationAPNS-java 不会在 iOS 应用程序上增加徽章编号
【发布时间】:2013-08-14 15:37:17
【问题描述】:

我正在使用java-apns 库。来自PayloadBuilder 类的方法badge 的JavaDoc 声明:

设置通知徽章显示在应用程序旁边 图标。传递的值是应该显示的值(它将 被添加到之前的徽章编号),并且 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}}

【问题讨论】:

    标签: java ios apple-push-notifications badge


    【解决方案1】:

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

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

    看这个苹果doc

    【讨论】:

    • 我可以告诉人,但是设备会根据有效负载中的“徽章”值更新徽章,所以我认为您使用的库除了创建有效负载和发送它。
    • 又看这个stackoverflow.com/questions/1942605/…,好像根本不可能。
    • 您不能增加徽章编号,只能设置它。他们可能这样做是因为无论如何增加它都是一个坏主意,因为并不总是收到推送通知。您应该在服务器端跟踪号码。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-01-25
    • 2015-11-11
    • 1970-01-01
    • 1970-01-01
    • 2013-07-31
    • 1970-01-01
    • 2013-08-26
    相关资源
    最近更新 更多