addOpenChannelHandler

public final Unit addOpenChannelHandler(String identifier, OpenChannelHandler handler)

Adds an open channel event handler.

Listens for all open channel events in a unified manner, including:

  • Operation events: join, leave, destroy, reset, error

  • Notification events: multi-device sync, member ban, member mute

  • Metadata events: KV sync, change (update/delete)

  • Member changes: member join and leave

All callback methods have default empty implementations; callers only need to override the callbacks they are interested in.

NCEngine.addOpenChannelHandler("OPEN_CHANNEL_ID", object : OpenChannelHandler {
override fun onEntered(event: OpenChannelEnteredEvent) {
println("Joined channel: ${event.channelId}")
}
override fun onMemberChanged(event: OpenChannelMemberChangedEvent) {
println("Channel: ${event.channelId}, total members: ${event.totalCount}")
}
override fun onMetadataChanged(event: OpenChannelMetadataChangedEvent) {
event.changes.forEach { println("KV ${it.key} = ${it.value}, deleted: ${it.isDelete}") }
}
})

Parameters

identifier

Unique identifier for the handler, used for subsequent removal

handler

Open channel event handler