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

A Flutter plugin for video and audio meetings with screen sharing, chat, and real-time communication capabilities. Includes iOS safe area support and comprehensive permission handling.

example/lib/main.dart

import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:meeting500mg/meeting500mg_plugin.dart';

Future<void> main() async {
  WidgetsFlutterBinding.ensureInitialized();

  await SystemChrome.setPreferredOrientations([
    DeviceOrientation.portraitUp,
    DeviceOrientation.portraitDown,
  ]);


  await Meeting500MGPlugin.initializePlugin(
    clientId: '<client-Id>',
    clientSecret: '<client-secret>',
  );

  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      home: Meeting500MGPlugin.wrapWithBlocProviders(
        child: Scaffold(body: ConnectHelp()),
      ),
    );
  }
}

class ConnectHelp extends StatefulWidget {
  const ConnectHelp({super.key});

  @override
  State<ConnectHelp> createState() => _ConnectHelpState();
}

class _ConnectHelpState extends State<ConnectHelp> {
  bool _isCallActive = false;
  bool _isInitialized = false;

  @override
  void initState() {
    super.initState();
    _initPlugin();
  }

  Future<void> _initPlugin() async {

    await Meeting500MGPlugin.joinCall(

      dealerName: "<dealer-name>",
      email: "<email>",
      customerMobile: "<phone>",
      dealerCode: "<dealer-code>",
      language: "<language>",
      agenda: "<agenda>",
    );

    setState(() {
      _isInitialized = true;
    });
  }

  void _onCallStarted() => setState(() => _isCallActive = true);
  void _onCallEnded() => setState(() => _isCallActive = false);

  @override
  Widget build(BuildContext context) {
    if (!_isInitialized) {
      return const Center(child: CircularProgressIndicator());
    }

    return Scaffold(
      backgroundColor: Colors.white,
      body: Stack(
        children: [
          Positioned(
            top: 40,
            right: 16,
            child: ElevatedButton(
              onPressed: () {
                Meeting500MGPlugin.startCall();
              },
              child: const Text("Click to Call"),
            ),
          ),
          Positioned.fill(
            child: Offstage(
              offstage: !_isCallActive,
              child: Meeting500MGPlugin.getMainHomeScreen(
                onCallStarted: _onCallStarted,
                onCallEnded: _onCallEnded,
              ),
            ),

          ),
        ],
      ),
    );
  }
}
0
likes
0
points
277
downloads

Publisher

unverified uploader

Weekly Downloads

A Flutter plugin for video and audio meetings with screen sharing, chat, and real-time communication capabilities. Includes iOS safe area support and comprehensive permission handling.

License

unknown (license)

Dependencies

another_flushbar, app_settings, bloc, cached_network_image, connectivity_plus, cupertino_icons, dartz, dio, dots_indicator, equatable, file_picker, flutter, flutter_bloc, flutter_inappwebview, flutter_svg, flutter_web_plugins, get_it, go_router, http, image_picker, injectable, intl, json_annotation, media_scanner, path, permission_handler, plugin_platform_interface, rxdart, shared_preferences, url_launcher, web_socket_channel

More

Packages that depend on meeting500mg

Packages that implement meeting500mg