embed_flutter 0.0.19 copy "embed_flutter: ^0.0.19" to clipboard
embed_flutter: ^0.0.19 copied to clipboard

unlisted

A powerful Flutter SDK that provides a powerful voice-enabled AI-agent functionality with real-time widget tree monitoring for screen context fetching and realtime voice communication.

example/lib/main.dart

import 'package:embed_flutter_example/screens/welcome_screen.dart';
import 'package:embed_flutter_example/screens/home_screen.dart';
import 'package:embed_flutter_example/screens/profile_plans.dart';
import 'package:embed_flutter_example/screens/mo_exclusive.dart';
import 'package:embed_flutter_example/screens/about_screen.dart';
import 'package:flutter/material.dart';
import 'package:embed_flutter/embed_flutter.dart';

void main() {
  embedInitialize(
    'key_embed_revrag_test_key',
    flowName: 'main',
    onResult: (success, error) {
      print('Embed initialized: success=$success error=$error');
    },
  );
  runApp(const MyApp());
}

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

  @override
  Widget build(BuildContext context) {
    return EmbedWidget(
      rightPadding: 20,
      bottomPadding: 100,
      showEmbedWidget: true,
      embedButtonDelayMs:4000,
      onPermissionStatusChanged: (status) {
        print('Permission status changed: $status');
      },
      enabledRoutes: const {
        'main': [
          'welcome_screen',
          'home_screen',
          'profile_plans',
          'mo_exclusive',
        ],
      },
      child: MaterialApp(
        title: 'Embed Flutter Demo',
        theme: ThemeData(
          primarySwatch: Colors.blue,
          useMaterial3: true,
        ),
        navigatorObservers: [
          EmbedNavigatorObserver(
            nameExtractor: (route) {
              final name = route.settings.name;
              // The home/initial route reports '/' — treat it as the welcome screen.
              if (name == null || name == '/') return 'welcome_screen';
              return name;
            },
          ),
        ],
        home: const WelcomeScreen(),

        onGenerateRoute: (settings) {
          final userName = settings.arguments as String? ?? 'Guest';
          
          switch (settings.name) {
            case 'home_screen':
              return MaterialPageRoute(
                builder: (context) => HomeScreen(userName: userName),
                settings: settings,
              );
            case 'profile_plans':
              return MaterialPageRoute(
                builder: (context) => ProfilePlansScreen(userName: userName),
                settings: settings,
              );
            case 'mo_exclusive':
              return MaterialPageRoute(
                builder: (context) => MoExclusiveScreen(userName: userName),
                settings: settings,
              );
            case 'about_screen':
              return MaterialPageRoute(
                builder: (context) => AboutScreen(userName: userName),
                settings: settings,
              );
            default:
              return null;
          }
        },
      ),
    );
  }
}
0
likes
0
points
131
downloads

Documentation

Documentation

Publisher

verified publisherrevrag.ai

Weekly Downloads

A powerful Flutter SDK that provides a powerful voice-enabled AI-agent functionality with real-time widget tree monitoring for screen context fetching and realtime voice communication.

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

flutter, flutter_webrtc, http, livekit_client, lottie, permission_handler, shared_preferences

More

Packages that depend on embed_flutter