Load Plugins
Overview: How to display plugins inside plugins view.
To display individual plugin inside App. We will be using component DytePluginsView
Creating plugin view
let viewModel = VideoPeerViewModel(mobileClient: meeting,
participant: meeting.localUser,
showSelfPreviewVideo: false,
showScreenShareVideoView: true)
let pluginView = DytePluginsView(videoPeerViewModel:viewModel)
self.view.addSubview(pluginView)
Use above code to create instance of DytePluginsView and add this view to any view of your choice.
Loading pluginView with plugins
You can get the list of active plugins with the help of below API
let plugins: [DytePlugin] = self.dyteMobileClient.plugins.active
let arrButtons = [DytePluginScreenShareTabButton]()
for plugin in plugins {
let button = DytePluginScreenShareTabButton(image: plugin.picture, title: plugin.name, id: plugin.id)
arrButtons.append(button)
}
To show arrButtons
created from above code on the DytePluginsView, We will be using
below API.
self.pluginView.setButtons(buttons: arrButtons, selectedIndex: 0) { [weak self] button, pluginIsClicked in
guard let self = self else {return}
// We are having plugin button tapped by the user.
// So to load this plugin inside PluginsView we need to call this API.
self.pluginView.show(pluginView: button.plugin.getPluginView())
}