Get unread messages in a channel
Retrieve unread messages from a specific channel — for example, to scroll to the first unread message or display all unread @mention messages.
Get the first unread message
Call getFirstUnreadMessage(completion:) on a channel instance:
- Swift
- Objective-C
swift
import NexconnChatSDK
let channel = DirectChannel(channelId: "targetUserId")
channel getFirstUnreadMessageWithCompletion:^(Message *message, NCError *error) {
if (message) {
// NSLog("First unread message ID: %", message.messageId)
}
}
Objective C
NCDirectChannel *channel = [[NCDirectChannel alloc] initWithChannelId:@"targetUserId"];
[channel getFirstUnreadMessageWithCompletion:^(NCMessage *message, NCError *error) {
if (message) {
NSLog(@"First unread message ID: %@", message.messageId);
}
}];
Get all unread @mention messages
Call getUnreadMentionedMessages(completion:) to retrieve all unread messages that mention the current user. Returns up to 100 messages.
- Swift
- Objective-C
swift
import NexconnChatSDK
channel getUnreadMentionedMessagesWithCompletion:^(NSArray<Message *> *messages, NCError *error) {
// NSLog("Unread @mention messages: %ld", messages.count)
}
Objective C
[channel getUnreadMentionedMessagesWithCompletion:^(NSArray<NCMessage *> *messages, NCError *error) {
NSLog(@"Unread @mention messages: %ld", (long)messages.count);
}];