[Aerogear-users] UPS push to IOS removes the badge

Kelvin Lunsford kelvin at qantel.com
Thu Jul 30 20:48:17 EDT 2015


Sorry Matt,

Not ready to be a real contributor yet. Just a user. No git account.

This looks like a 3 line change to me. Not big enough to learn everything required to do a PR.

I might sign up later for a bigger change, but that's another topic.

- Kelvin


------------------------------------------------------------------------------------
From: aerogear-users-bounces at lists.jboss.org [mailto:aerogear-users-bounces at lists.jboss.org] On Behalf Of Matthias Wessendorf
Sent: Thursday, July 30, 2015 3:39 AM
To: aerogear-users at lists.jboss.org
Subject: Re: [Aerogear-users] UPS push to IOS removes the badge

Hi Kevin,

you mind sending a PR (pull request) to fix this bug?
Sorry for it, its a pretty annoying issue for sure!

-Matthias

On Thursday, July 30, 2015, Kelvin Lunsford <kelvin at qantel.com> wrote:
If UPS is given a push command with no "badge" value the IOS badge icon is being removed when the notification is received.  Expected behavior is that the badge icon would be unchanged if no badge value is set.

When USP receives a push command with no "badge" value it is sending APNS a "badge" value of -1.

The Apple push payload spec says the badge icon is removed if the "badge" value is 0, and the icon is unchanged if there is no "badge" value.  The spec does not say what happens if the "badge" value is less than zero.

Tested devices are removing the badge icon when -1 is set.

Please change UPS so no "badge" value is sent to APNS when the UPS command has no "badge" value.

For example you could change the sendPushMessage function of APNsPushNotificationSender.java to:

  PayloadBuilder builder = APNS.newPayload()
    // adding recognized key values
    .alertBody(message.getAlert())
    //.badge(message.getBadge()) // do not set badge here
    .sound(message.getSound())
    .alertTitle(apns.getTitle())
    .alertAction(apns.getAction())
    .urlArgs(apns.getUrlArgs())
    .category(apns.getActionCategory())
    .localizedTitleKey(apns.getLocalizedTitleKey());

  if (message.getBadge() >= 0)
    builder.badge(message.getBadge()); // only set badge if needed

- Kelvin

_______________________________________________
Aerogear-users mailing list
Aerogear-users at lists.jboss.org
https://lists.jboss.org/mailman/listinfo/aerogear-users


-- 
Sent from Gmail Mobile



More information about the Aerogear-users mailing list