add Open Channel 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}") }
}
})Content copied to clipboard
Parameters
identifier
Unique identifier for the handler, used for subsequent removal
handler
Open channel event handler