WebSocket
Whenever ComapiClient is configured and authenticated, a new session is started which opens a WebSocket connection. This allows for a two-way real-time communication between the client and the server. For more information on WebSocket visit the official RFC site. When open, the socket provides live updates for the profile and conversations which you are a participant of. You can subscribe for these updates to update your views and models.
Add profile changes listener
Register the delegate for the incoming profile related events with the CMPComapiChatClient
object. The delegate should conform to the CMPProfileDelegate
protocol.
[client addProfileDelegate:self];
To receive the event implement following method from CMPProfileDelegate
protocol:
- (void) didUpdateProfile:(CMPProfileEventUpdate *)event {
// event sent when a user profile has been updated.
}
Please note that you can register multiple listeners in your code, to handle events in different parts of your application. The events are broadcasted to all registered delegates. To remove a delegate call:
[client removeProfileDelegate:self];
Add conversation participants delegate
Register the delegate to listen to conversation participants added & removed events with the CMPComapiChatClient
object. The delegate should conform to the CMPParticipantDelegate
protocol.
// Add delegate
[client addParticipantDelegate:self];
// removed delegate
[client removeParticipantDelegate:self];
To receive the event implement following method from CMPParticipantDelegate
protocol:
- (void)didAddParticipant:(CMPConversationEventParticipantAdded *)event {
// event sent when participant joined a conversation
}
- (void)didRemoveParicipant:(CMPConversationEventParticipantRemoved *)event {
// event sent when participant left a conversation
}
- (void)didUpdateParticipant:(CMPConversationEventParticipantUpdated *)event {
// event sent when participant roles change in a conversation
}