Skip to main content

Other methods

Send data to the plugin

You can send data (type any) to a plugin using the sendData() method. This method comes in handy when building your own plugin.

val pluginId = '...';
val plugin = meeting.plugins.active.firstOrNull { it.id == pluginId }

plugin?.let { p ->
p.sendData(
eventName = "my-custom-event",
data = "Hello world"
)
}

Listening to plugin events

You can receive data from a plugin by implementing the onPluginMessage() method defined in DytePluginEventsListener interface. This method comes in handy when building your own plugin.

val pluginEventListener = object : DytePluginEventsListener {
override fun onPluginActivated(plugim: DytePlugin) {
...
}

override fun onPluginDeactivated(plugin: DytePlugin) {
...
}

override onPluginMessage(plugin: DytePlugin, eventName: String, data: Any?) {
...
}

override onPluginFileRequest(plugin: DytePlugin) {
...
}
}

meeting.addPluginEventsListener(pluginEventListener)

Upload file to a plugin

You can upload a file to a plugin that supports file uploads using the uploadFile() method. This method comes in handy when building your own plugin.

val pluginId = '...';
val plugin = meeting.plugins.active.firstOrNull { it.id == pluginId }

plugin?.let { p ->
p.uploadFile(
DytePluginFile(
resultCode = 1,
data = Intent() // Intent with the file data
)
)
}