-
Notifications
You must be signed in to change notification settings - Fork 0
Tools selection guide
The Kaleyra Video allows you to selectively enable or disable some of the call tools it provides. This guide is meant for clients of the 4.0 version, if you are using a 3.x version take a look at this guide instead.
Starting from the 3.0 version the Kaleyra Video SDK collaborative tools are disabled by default. You are required to opt-in for any collaborative tool you want to use in your app. Collaborative tools can be enabled at any time after the SDK configuration. In the next chapter we are going to show you how to enable each tool and the configuration options they require.
The Kaleyra Video SDK provides two different tools for sharing your screen contents during a VoIP call. The first one is the in-app screen sharing tool, it enables sharing the contents of your app's main window only, it does not share the contents of the user's device screen, nor it can share the contents of your app while the app is in background. The second one is the broadcast screen sharing tool it is capable of sharing the contents of the user's device screen, it is not limited to sharing the contents of your app and it is capable of sharing the user's device screen contents even if your app is in background. To get more information on this tools you can checkout this dedicated guide.
In order to opt-in for the in-app screen sharing tool, you must enable it after the SDK has been configured. By default the tool is disabled. The following code snippets will show you how you enable this tool in your app:
import KaleyraVideoSDK
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
var config = Config(appID: "My app id", region: .europe, environment: .sandbox)
do {
try KaleyraVideo.instance.configure(config)
KaleyraVideo.instance.conference?.settings.tools.inAppScreenSharing = .enabled
} catch {
print("Could not configure the SDK because of \(error)")
}
return true
}
}
The broadcast screen sharing tool requires a broadcast upload extension embedded in your app. That extension and the Kaleyra Video SDK need to talk to each other in order to stream the contents of the user's device screen during a video call. While enabling the broadcast screen sharing you must provide the app group identifier used by both ends to exchange the information they need. If you haven't already, we strongly suggest you to take a look at our screensharing guide that will explain in much more detail how to setup the broadcast upload extension and its purpose. In order to opt-in for the broadcast screen sharing tool, you must enable it after the SDK has been configured. By default the tool is disabled. The following code snippets will show you how you enable this tool in your app:
import KaleyraVideoSDK
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
var config = Config(appID: "My app id", region: .europe, environment: .sandbox)
do {
try KaleyraVideo.instance.configure(config)
KaleyraVideo.instance.conference?.settings.tools.broadcastScreenSharing = .enabled(appGroupIdentifier: try! .init("group.com.acme.myapp"), extensionBundleIdentifier: "com.acme.myapp")
} catch {
print("Could not configure the SDK because of \(error)")
}
return true
}
}
In order to opt-in for the whiteboard tool, you must enable it after the SDK has been configured. By default the tool is disabled. The following code snippets will show you how you enable this tool in your app:
import KaleyraVideoSDK
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
var config = Config(appID: "My app id", region: .europe, environment: .sandbox)
do {
try KaleyraVideo.instance.configure(config)
KaleyraVideo.instance.conference?.settings.tools.whiteboard = .enabled
} catch {
print("Could not configure the SDK because of \(error)")
}
return true
}
}
Tip
The whiteboard tool will not allow the upload of images and files unless the filesharing tool is also enabled in the call.
In order to opt-in for the filesharing tool, you must enable it after the SDK has been configured. By default the tool is disabled. The following snippets of code will show you how you can enable this tool in your app:
import KaleyraVideoSDK
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
var config = Config(appID: "My app id", region: .europe, environment: .sandbox)
do {
try KaleyraVideo.instance.configure(config)
KaleyraVideo.instance.conference?.settings.tools.fileshare = .enabled
} catch {
print("Could not configure the SDK because of \(error)")
}
return true
}
}
In order to opt-in for the chat tool, you must enable it after the SDK has been configured. By default the tool is disabled. The following snippets of code will show you how you can enable this tool in your app:
import KaleyraVideoSDK
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
var config = Config(appID: "My app id", region: .europe, environment: .sandbox)
do {
try KaleyraVideo.instance.configure(config)
KaleyraVideo.instance.conference?.settings.tools.chat = .enabled
} catch {
print("Could not configure the SDK because of \(error)")
}
return true
}
}
Looking for other platforms? Take a look at Android, Flutter, ReactNative, Ionic / Cordova. Anything unclear or inaccurate? Please let us know by submitting an Issue or write us here.