lib/
├── app.dart # Application entry and global configuration
├── main.dart # Main program entry
├── firebase_options.dart # Firebase configuration
├── common/ # Common components and utilities
├── data/ # Data models and state management
├── firestore/ # Firestore database operations
├── kits/ # ZEGO UI Kits integration
│ ├── call/ # Call functionality
│ │ ├── call_page.dart # Call page
│ │ ├── call_invitation.dart # Call invitation
│ │ └── call_settings.dart # Call settings
│ ├── live_streaming/ # Live streaming functionality
│ │ ├── live_page.dart # Live page
│ │ ├── pk_page.dart # PK functionality
│ │ └── live_settings.dart # Live settings
│ ├── audio_room/ # Audio chat room
│ │ ├── audio_room_page.dart # Audio room page
│ │ └── audio_room_settings.dart # Audio room settings
│ ├── conference/ # Video conference
│ │ ├── conference_page.dart # Conference page
│ │ └── conference_settings.dart # Conference settings
│ ├── chat/ # Instant messaging
│ │ ├── chat_page.dart # Chat page
│ │ └── chat_settings.dart # Chat settings
│ ├── cache.dart # Cache management
│ ├── room_list.dart # Room list management
│ ├── express_event_handler.dart # Event handling
│ └── kits_page.dart # Kits page management
└── pages/ # Page components
├── splash.dart # Splash page
├── loading.dart # Loading page
├── login.dart # Login page
├── home.dart # Home page
├── settings.dart # Settings page
├── about.dart # About page
├── contact.dart # Contact page
├── feedback.dart # Feedback page
├── more_drawer.dart # More drawer menu
└── utils/ # Page utilities
└── ... # Page-related utility functions and components
demo of zego-uikits
The demo introduces the basic functions of five kits, linking virtual users together simply through Firestore.
A purely personal project powered by love:
- No version plans, please like and encourage.
- No technical support, please raise issues for bugs and feature requests.
Before using, you need to register Firestore and ZEGO AppID/AppSign.
-
Firestore
- Related Features: Contacts, Live PK host list
- Set up Firebase project:
- Create a Firebase project: Visit Firebase Console and create a new project.
- Enable Firestore:
In the project, navigate to the "Firestore Database" section, select Create Database, and then select Start in Test Mode.
Set the rules on the rules page:
rules_version = '2'; service cloud.firestore { match /databases/{database}/documents { match /{document=**} { allow read, write: if true; } } }
- Download your own Google services file, then replace
./android/app/google-services.json
and./ios/Runner/GoogleService-Info.plist
respectively. - follow the instructions on Add Firebase to your Flutter app
-
AppID/AppSign of Zego Go to ZEGOCLOUD Admin Console, get the appID and appSign of your project. Then set it in the demo's system settings interface.
-
Configure Offline Calls (Optional) Please follow the steps in 1. Firebase Console and ZEGO Console Configuration section of Configure your project.
A brief introduction to the basic functions of the five kits.
You need to set ZEGO AppID/AppSign here, and you can also switch languages here.
-
Settings
-
Call Invitation
-
Dial Call
-
Call History
-
Contacts
-
-
1v1/group
- Preset Call Room List You can configure the call room list in the call settings page, and those entering the same call can converse with each other.
-
live
- Live Streaming
- PK
- Live List
- Swipe Switching
- Multimedia Sharing
-
audio room
- Preset Room List
- Multimedia Sharing
-
conference
- Preset Room List
- Screen Sharing
-
chat