iOS
A row in a List or Form
A row that draws its own chevron
A list badge sits at the trailing edge of the row, which would put it outside your chevron. Place the marker yourself instead:showsCount: false for a plain dot without the number.
A tab bar item or anything custom
Read the count fromFeddyUnread.shared. It’s an observable object, so a SwiftUI view that reads it updates itself whenever the count changes:
Feddy.onUnreadCountChanged and set tabBarItem.badgeValue from it.
Keep it fresh when the app comes back
While the app is in the background, the SDK stops checking. When the user returns, ask for a fresh count right away so the badge is right before the next scheduled check:Web
If you’re using the floating chat button, there’s nothing to do: it shows the count itself. If you’ve turned it off withlauncher: false, give Feddy a function to call whenever the count changes, and update your own element from it:
Reply popups
A badge only helps if the user looks at where you put it. So when someone comes back to your app with a reply they haven’t seen, Feddy also shows a card with the latest message, at the top of the screen on iOS and above the floating button on the web. Tapping it opens the conversation. Each reply pops up at most once, and only replies from the last 14 days do. After that the badge is the only signal. Turn popups off withFeddy.replyPopupsEnabled = false on iOS (for example while a paywall is up) or replyPopups: false in Feddy.init on the web.
What counts as unread
A reply is unread until the user opens the conversation it belongs to. Opening Feddy isn’t enough on its own. Replies in closed conversations count too: closing a conversation doesn’t mean the user has read your reply.Send a message from a test build, reply from the inbox, and watch the badge show
1. Open the conversation in the app and it goes away.Next steps
Conversations
What makes a conversation unread in the inbox, and how to mark one unread again.
iOS SDK reference
feddyUnreadBadge, FeddyUnreadDot, FeddyUnread, and refresh in full.Web SDK reference
onUnreadCountChanged and the launcher option in full.Troubleshooting
What to check when the badge doesn’t update.