From the documentation:
thread-id
|string
| When displaying notifications, the system visually groups notifications with th
I had this problem with Firebase not using apns-collapse-id. How I solved it was to use key instead of certificates. You can find the key right under the certificates in developer.apple.com . It now uses one "row" of notification and puts the last notification from group into that row. Advanced features such as replacing content would have the necessity to use notification ui extension.
apns-collapse-id
NotificationContentExtension
Never in the docs it's mentioned that way that you need them. It's just that they are related.
For me it worked out of the box. It's just the iOS doesn't immediately render notifications into groups.
thread-id
sThen all of the sudden it starts to group and work as expected!!!
https://medium.com/the-guardian-mobile-innovation-lab/how-to-replace-the-content-of-an-ios-notification-2d8d93766446:
says to use apns-collapse-id instead
Unfortunately, you don't get this for free. You need to create a Notifictation UI extension, and implement your own UI(in this case it's a conversation UI), and update the UI when receive new notification with same thread-id.
Edit: this may not be the correct answer, see a more comprehensive answer here.