SDKsiOSEnterprise
Retrieve pinned messages
Retrieve a snapshot of pinned messages in a conversation with OpenIM iOS SDK.
Invoke getConversationPinnedMsgWithConversationID:onSuccess:onFailure: on OIMManager to retrieve a list of currently pinned messages in a specified conversation:
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
conversationID | NSString * | Yes | Target conversation identifier. |
onSuccess | void (^)(NSArray<OIMMessageInfo *> * _Nullable messages) | Yes | Success callback returning an array of pinned message models. |
onFailure | OIMFailureCallback | Yes | Failure callback returning error code code and descriptive message msg. |
Code example
[[OIMManager manager] getConversationPinnedMsgWithConversationID:conversationID
onSuccess:^(NSArray<OIMMessageInfo *> * _Nullable messages) {
// Render or refresh the pinned messages banner at the top of the conversation view
[self replacePinnedMessages:messages ?: @[] conversationID:conversationID];
}
onFailure:^(NSInteger code, NSString * _Nullable msg) {
// Handle query failure
}];Return value
The onSuccess callback delivers an array of OIMMessageInfo models representing pinned messages. The array contains message entities only, without pin timestamps or operator metadata.
State changes after the call
- Snapshot querying: This query establishes an instantaneous snapshot of pinned messages and does not trigger pin event listeners.
- Client merge key: The merge key is
clientMsgIDscoped toconversationID. - Live updates: Real-time additions or removals of pinned messages are delivered via the listener documented in Pin or unpin a message.
Was this page helpful?