lib_wiseapi_flutter 0.0.2 copy "lib_wiseapi_flutter: ^0.0.2" to clipboard
lib_wiseapi_flutter: ^0.0.2 copied to clipboard

Flutter SDK for WiseAPI, a cloud-based video conferencing API for integrating real-time video, audio, and collaboration features into your Flutter apps.

lib_wiseapi_flutter #

Pacote Flutter para integrar videoconferencias da WiseAPI.

Funcionalidades #

  • Widget WiseConf pronto para uso que renderiza a conferencia em um WebView
  • Autenticacao via JWT (sessionToken)
  • Configuracao de audio/video mutado ao entrar
  • Tile view automatico ao entrar na sala
  • Customizacao dos botoes da toolbar
  • Pre-join page configuravel
  • Logo customizavel
  • Informacoes do usuario (nome, email, avatar)
  • Listeners para todos os eventos da conferencia (entrada/saida de participantes, mute, chat, etc.)

Instalacao #

Adicione ao pubspec.yaml:

dependencies:
  lib_wiseapi_flutter:
    git:
      url: <url-do-repositorio>

Android #

Adicione as permissoes no AndroidManifest.xml:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />

iOS #

Adicione no Info.plist:

<key>NSCameraUsageDescription</key>
<string>Necessario para videoconferencia</string>
<key>NSMicrophoneUsageDescription</key>
<string>Necessario para videoconferencia</string>

Uso #

import 'package:lib_wiseapi_flutter/lib_wiseapi_flutter.dart';

class ConferencePage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: WiseConf(
        domain: 'conf.homolog.v4h.cloud',
        session: 'sala-123',
        sessionToken: 'seu-jwt-token',
        startWithAudioMuted: true,
        startWithVideoMuted: false,
        startWithTileView: true,
        enablePreJoin: false,
        logo: 'https://example.com/logo.png',
        buttons: [
          ToolbarButton.microphone,
          ToolbarButton.camera,
          ToolbarButton.hangup,
          ToolbarButton.chat,
          ToolbarButton.tileview,
          ToolbarButton.raisehand,
        ],
        userInfo: const UserInfo(
          displayName: 'Joao Silva',
          email: 'joao@example.com',
        ),
        listeners: WiseConfListeners(
          onConferenceJoined: (data) {
            debugPrint('Entrou na conferencia: $data');
          },
          onConferenceLeft: (data) {
            debugPrint('Saiu da conferencia: $data');
          },
          onParticipantJoined: (data) {
            debugPrint('Participante entrou: $data');
          },
          onParticipantLeft: (data) {
            debugPrint('Participante saiu: $data');
          },
          onAudioMuteStatusChanged: (muted) {
            debugPrint('Audio mutado: $muted');
          },
          onVideoMuteStatusChanged: (muted) {
            debugPrint('Video mutado: $muted');
          },
          onReadyToClose: () {
            Navigator.of(context).pop();
          },
          onError: (error) {
            debugPrint('Erro: $error');
          },
        ),
        onLoad: () {
          debugPrint('WebView carregou');
        },
      ),
    );
  }
}

API #

WiseConf #

Parametro Tipo Obrigatorio Default Descricao
domain String Sim - Dominio do servidor
session String Sim - Nome da sala
sessionToken String Sim - Token JWT para autenticacao
startWithAudioMuted bool Nao false Iniciar com audio mutado
startWithVideoMuted bool Nao false Iniciar com video mutado
startWithTileView bool Nao false Iniciar em visualização de blocos
enablePreJoin bool Nao false Habilitar tela de pre-join
logo String? Nao null URL do logo customizado
shareLink String? Nao null Link de compartilhamento
buttons List<ToolbarButton>? Nao null Botoes visiveis na toolbar
userInfo UserInfo? Nao null Informacoes do usuario
listeners WiseConfListeners Nao const WiseConfListeners() Callbacks de eventos
onLoad VoidCallback? Nao null Callback quando o WebView carrega

WiseConfListeners #

Callback Tipo Descricao
onConferenceJoined Function(Map data) Usuario entrou na conferencia
onConferenceLeft Function(Map data) Usuario saiu da conferencia
onParticipantJoined Function(Map data) Participante entrou
onParticipantLeft Function(Map data) Participante saiu
onAudioMuteStatusChanged Function(bool muted) Estado do mute de audio mudou
onVideoMuteStatusChanged Function(bool muted) Estado do mute de video mudou
onReadyToClose Function() Conferencia pronta para fechar
onChatMessageReceived Function(Map data) Mensagem de chat recebida
onChatUpdated Function(Map data) Chat atualizado
onError Function(dynamic error) Erro ocorreu
onVideoConferenceJoined Function(Map data) Alias para onConferenceJoined
onVideoConferenceLeft Function(Map data) Alias para onConferenceLeft

ToolbarButton #

Enum com todos os botoes disponiveis:

avatar, camera, chat, desktop, download, embedmeeting, etherpad, feedback, filmstrip, fullscreen, hangup, help, highlight, info, invite, libras, linktosalesforce, livestreaming, microphone, muteEveryone, noisesuppression, participantsPane, profile, raisehand, recording, security, selectBackground, settings, shareaudio, sharedvideo, shortcuts, stats, tileview, toggleCamera, transcription, videoquality

UserInfo #

Parametro Tipo Descricao
displayName String? Nome exibido na conferencia
email String? Email do usuario
avatarURL String? URL do avatar
0
likes
105
points
203
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

Flutter SDK for WiseAPI, a cloud-based video conferencing API for integrating real-time video, audio, and collaboration features into your Flutter apps.

Homepage

License

unknown (license)

Dependencies

flutter, permission_handler, webview_flutter, webview_flutter_android, webview_flutter_wkwebview

More

Packages that depend on lib_wiseapi_flutter