Orientação gerada a partir de informações públicas. Apenas para referência.
O jitsi_meet_flutter_sdk é um plugin Flutter que integra as funcionalidades de videoconferência do Jitsi Meet em aplicativos Flutter, oferecendo uma experiência suave e nativa tanto no Android quanto no iOS. Permite aos desenvolvedores incorporar áudio, vídeo e compartilhamento de tela em tempo real diretamente em seus aplicativos usando a robusta infraestrutura aberta do Jitsi. O SDK oferece suporte a interfaces de reunião personalizáveis e comunicação segura e escalável com criptografia de ponta a ponta.
Casos de uso
Chamadas de vídeo dentro do aplicativo para plataformas de telemedicina
Salas de aula virtuais e aplicativos de aprendizagem online
Ferramentas de colaboração remota
Suporte ao cliente com interação por vídeo
Transmissão ao vivo de eventos com participação da audiência
Principais recursos
Compatibilidade multiplataforma (Android e iOS)
Criptografia de ponta a ponta
Componentes de interface personalizáveis
Suporte a compartilhamento de tela e gravação
Integração com fluxos de trabalho existentes do Flutter
Indicado para
Desenvolvedores construindo recursos de comunicação em tempo real
startups de tecnologia educacional
Criadores de aplicativos de saúde
Ferramentas de colaboração empresarial
colaboradores de projetos de código aberto
Considerações
Requer um servidor Jitsi auto-hospedado ou gerenciado para controle total
Considerações de largura de banda de rede para vídeo de alta qualidade
Configuração adicional para configurações avançadas de segurança
Personalização limitada dos elementos principais da interface do Jitsi
Dependente de conectividade estável na internet para desempenho ideal
README original
Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.
Jitsi Meet Flutter SDK
The Jitsi Meet Flutter SDK provides the same user experience as the Jitsi Meet app, in the form of a Flutter plugin so that you can embed and customize Jitsi Meet in your own Flutter app.
Supported platforms
Platform
Supported
Notes
Android
✅
Minimum API level is 24
iOS
✅
Minimum supported version is 15.1
Web
❌
Sample application using the Flutter
If you want to see how easy integrating the Jitsi Meet Flutter SDK into a Flutter application is, take a look at the sample applications repository.
Installation
Add dependency
Add the dependency from command-line
$ flutter pub add jitsi_meet_flutter_sdk
The command above will add this to the pubspec.yaml file in your project (you can do this manually):
Firstly, create a JitsiMeet object, then call the method join from it with a JitsiMeetConferenceOptions object
var jitsiMeet = JitsiMeet();
var options = JitsiMeetConferenceOptions(room: 'jitsiIsAwesome');
jitsiMeet.join(options);
Configuration
iOS
Make sure in Podfile from ios directory you set the ios version 15.1 or higher
platform :ios, '15.1'
The plugin requests camera and microphone access, make sure to include the required entries for NSCameraUsageDescription and NSMicrophoneUsageDescription in your Info.plist file from the ios/Runner directory.
<key>NSCameraUsageDescription</key>
<string>The app needs access to your camera for meetings.</string><key>NSMicrophoneUsageDescription</key><string>The app needs access to your microphone for meetings.</string>
The application:label field from the Jitsi Meet Android SDK will conflict with your application's one . Go to android/app/src/main/AndroidManifest.xml and add the tools library and tools:replace="android:label" to the application tag.
Joins a meeting with the given options and optionally a listener is given
options : meeting options
listener : event listener for events triggered by the native sdks
hangUp()
The localParticipant leaves the current meeting.
setAudioMuted(bool muted)
Sets the state of the localParticipant audio muted according to the muted parameter.
setVideoMuted(bool muted)
Sets the state of the localParticipant video muted according to the muted parameter.
sendEndpointTextMessage({String? to, required String message})
Sends a message via the data channel to one particular participant or to all of them. If the to param is empty, the message will be sent to all the participants in the conference.
In order to get the participantId, the participantsJoined event should be listened for, which have as a parameter the participantId and this should be stored somehow.
toggleScreenShare(bool enabled)
Sets the state of the localParticipant screen sharing according to the enabled parameter.
openChat([String? to])
Opens the chat dialog. If to contains a valid participantId, the private chat with that particular participant will be opened.
sendChatMessage({String? to, required String message})
Sends a chat message via to one particular participant or to all of them. If the to param is empty, the message will be sent to all the participants in the conference.
In order to get the participantId, the participantsJoined event should be listened for, which have as a parameter the participantId and this should be stored somehow.
closeChat()
Closes the chat dialog.
retrieveParticipantsInfo()
Sends and event that will trigger the participantsInfoRetrieved event which will contain participants information
JitsiMeetConferenceOptions
This object encapsulates all the options that can be tweaked when joining a conference.