Each version of the capacitor plugin uses a specific Jitsi SDK version. In iOS deployment, the SDK version is important because later SDKs compiled using the latest Xcode would not work if your local Xcode is older. So for iOS deployment, make sure you check your Xcode version and install the corresponding plugin version.
See Jitsi-meet SDK changelog
- adapted plugin for Capacitor 5. Follow Updating from Capacitor 4 to Capacitor 5 to upgrade your project.
- Capacitor 5 requires Xcode 14.1+
- Capacitor 5 requires Android Studio Flamingo | 2022.2.1 or newer because of the usage of Gradle 8, that requires Java JDK 17
- uses Jitsi SDK 7.0.1
- BREAKING: legacy signalling support has been removed in SDK 7, thus this plugin version will stop working with very old Jitsi Meet instances
- built with XCode 14
- adapted plugin for Capacitor 4. Follow Ionic's upgrade guide to upgrade project to Capacitor 4
- a pre-join page is defaulted to be shown when the user starts a call. To prevent this behavior, set:
featureFlags: {
...
'prejoinpage.enabled': false, // disable the pre-join page
},
- uses Jitsi SDK 6.1.0
-
Create notification icons in the Android App project
- In Android Studio, right click on the res folder in the android project -> New -> Image Asset
- create icon in the main res directory, with following config
- Icon Type: Notification Icons
- Name: ic_notification
-
ProGuard rules is now necessary for a successful Android Play Store deployment. While the debug APK runs fine, the proguard rules will avoid necessary code being stripped from the release build APK. Add the following to your project's rules file: https://github.com/jitsi/jitsi-meet/blob/master/android/app/proguard-rules.pro
- these params are now deprecated. Use featureFlags instead.
- callIntegrationEnabled (plugin default true -> SDK default true)
- liveStreamingEnabled (plugin default false -> 4.1.0 SDK default auto-detected)
- recordingEnabled (plugin default false -> 4.1.0 Android SDK true, 4.1.0 iOS SDK false)
- screenSharingEnabled (plugin default false -> 4.1.0 Android SDK true, 4.1.0 iOS SDK false)
- uses Jitsi SDK 5.1.0
- update Android's main app's AndroidManifest.xml:
allprojects {
repositories {
maven {
url "https://github.com/jitsi/jitsi-maven-repository/raw/master/releases"
}
google()
- jcenter()
+ mavenCentral()
+ maven { url 'https://www.jitpack.io' }
}
}
- Java 11 is used in the SDK 5+. Update android/variables.gradle file with these version numbers
ext {
minSdkVersion = 23
compileSdkVersion = 31
targetSdkVersion = 31
...
cordovaAndroidVersion = '10.1.1'
}
- uses Jitsi SDK 5.1.0
- bug fix: onConferenceJoined and onConferenceLeft not firing
- bug fix: iOS leaveConference() not working
The newly introduced featureFlags param provides a lot of flexibility to the developers, as the developers can now directly control ALL featureFlags settings supported by the SDKs, and no longer need to map the plugin params to the SDK featureFlags params, as we have done before.
- with this increased flexibility, the following plugin params will be deprecated in our 3.0 version. Their default values will be reset to following the SDK default values in this current plugin release.
- callIntegrationEnabled (plugin default true -> SDK default true)
- liveStreamingEnabled (plugin default false -> 4.1.0 SDK default auto-detected)
- recordingEnabled (plugin default false -> 4.1.0 Android SDK true, 4.1.0 iOS SDK false)
- screenSharingEnabled (plugin default false -> 4.1.0 Android SDK true, 4.1.0 iOS SDK false)
Going forward, for a stable production build, my recommendation is to add the following featureFlags params in your syntax:
featureFlags: {
'recording.enabled': false, // disable as it requires Dropbox integration
'live-streaming.enabled': false, // 'Sign in with Google' button not yet functional
'android.screensharing.enabled': false // experimental feature, not fully production ready
},
- adds the subject, featureFlags, and configOverrides params
-
adds the following optional parameters with their default values. Those defaulted to false must be manually set to true in order to enable them.
- recordEnabled (default: false)
- liveStreamingEnabled (default: auto-detected)
- screenSharingEnabled (android only, default: false)
-
fixes liveStreamingEnabled bug in 2.1.2
- uses Jitsi SDK 4.1.0.
- iOS
- uses Jitsi SDK 4.1.0.
- Android
- Capacitor 3 requires each Capacitor plugin to load settings from its own AndroidManifest.xml. This version provides correct settings in the manifest file which allows the Jitsi call to run in the background even if the user minimizes the app.
- the 4.0.0 mobile sdk introduces breakout rooms.
- Support for iOS 11 has been dropped.
- uses Jitsi SDK 4.0.0.
- iOS
- uses Jitsi SDK 4.0.0.
- Android
- upgrades plugin for Capacitor 3. If you are currently using Capacitor 2, you need to upgrade your project to Capacitor 3 first before you can use this plugin.
- uses Jitsi SDK 3.10.4
- built with Xcode 13.0
- iOS
- uses Jitsi SDK 3.10.2
- Android
- uses Jitsi SDK 3.8.1.
- built with Xcode 12.5
- iOS
- uses Jitsi SDK 3.8.0.
- Android
- built with Xcode 12.5
- built with Xcode 12.5
-
uses Jitsi SDK 3.4.0.
- uses Jitsi SDK 3.4.1.
- iOS
- built with Xcode 12.4
- built with Xcode 12.4
- adds leaveConference() method
- supports callIntegrationEnabled property in JoinConference()
- uses the new Listening for broadcasted events mechanism
- adds leaveConference() method
- supports callIntegrationEnabled property in JoinConference()
- built with Xcode 12.4
- built with Xcode 12.2
- add userInfo (displayName, email, avatarURL) parameters in iOS
- add userInfo (displayName, email, avatarURL) parameters in Android
- built with Xcode 12.2
- uses Jitsi SDK 2.10.2
- built with Xcode 12.0
- uses Jitsi SDK 2.10.0
- built with Xcode 11.4.1
- uses Jitsi SDK 2.7.0
- built with Xcode 11.3.1