Mark messages as delivered
Delivery receipt can be used to see whether a message has been successfully delivered to all intended recipients by the Sendbird server. To mark messages as delivered when a group channel member successfully receives a push notification for the message from APNs, the markAsDelivered(remoteNotificationPayload:completionHandler:)
method should be implemented in Notification Service Extension
.
Receive an update event for delivery receipts
When a message is delivered to a group channel member who is online, it is automatically marked as delivered and other members who are online are also notified of the delivery receipt through the channelDidUpdateDeliveryStatus(_:)
method of GroupChannelDelegate
.
However, when a message is delivered to an offline member as a push notification, the message can be marked as delivered through the markAsDelivered(remoteNotificationPayload:completionHandler:)
method of SendbirdChat
, and other members who are online are notified of the successful message delivery through the channelDidUpdateDeliveryStatus(_:)
method.
Get delivery status of a message
To get the delivery status of messages in a group channel, use the getDeliveryStatus(with:)
method. The method returns a list of objects with the user ID as the key and the delivery status as the value. The delivery status object contains the timestamp of the last delivered message.