Cannot reset badge count on the server when using Message Center to send Rich Messages

We are currently integrating the Urban Airship Message Center to send Rich Messages.  We would like to use the app icon badge number to show the number of messages the user hasn't yet seen, which is different the number of messages that are currently unread. To do this we were hoping to have each push message increment the badge count, and the app would reset that count to zero each time the user navigates to the message center inbox.  According to this documentation

https://support.urbanairship.com/entries/63715909-Rich-Message-iOS-Badge-Updates

and our own experience, Message Center always sets the badge count to the current number of unread messages, even after resetting the count to zero.  

What we would like, is to reset the badge count on the server with something similar to the existing resetBadge() available through UAPush.  To be clear, we're not looking to mark all messages as read, since we want to highlight those for the user in the Inbox. We just want to be able to set the badge number on the server to 0 for Message Center.

Currently, we can call resetBadge() and updateRegistration() afterward, with autobadging enabled.  We can view the correct debug output and view the request being sent up to the server with a proxy, setting badge:0, but the next time that a push is sent the badge number is incremented from the previous number.

Is there any method that you can recommend that would help us accomplish our goal of separating the badge count from the read/unread status of the messages?

 

Charles Chandler

iOS Engineer

WillowTree, Inc.®

Didn't find what you were looking for?

New post

Comments

1 comment

  • Hi Charles - 

    Yes this is something that we can make happen with a change on our backend. However it requires a little coordination. Can you please create a support request on this page with the above information?

    https://support.urbanairship.com/tickets/new

    Thank you!

    0

Please sign in to leave a comment.