Setup
Understanding Setup For stream_chat_flutter
Add pub.dev dependency
First, you need to add the stream_chat_flutter
dependency to your pubspec.yaml
.
You can either run this command:
flutter pub add stream_chat_flutter
OR
Add this line in the dependencies section of your pubspec.yaml
after substituting the latest version:
dependencies:
stream_chat_flutter: ^latest_version
You can find the package details on pub.dev.
Details On Platform Support
As of v5, thestream_chat_flutter
package (UI) added support for web, macOS, Windows, and Linux - on top of the original support for Android and iOS. It has, however, been possible to target desktop and web since Flutter added support for these platforms using the stream_chat_flutter_core
(builder) and stream_chat
(low-level client) packages - this remains unchanged.
Please note that Flutter Web may have additional constraints due to not supporting all plugins that Stream Chat relies on. The respective plugin creators will address this over time.
Setup
This section provides setup instructions for the respective platforms.
Android
The package uses photo_manager
to access the device's photo library. Follow this wiki to fulfill the Android requirements.
iOS
The library uses flutter file picker plugin to pick files from the os. Follow this wiki to fulfill iOS requirements.
Stream Chat also uses the video_player
package to play videos. Follow this guide to fulfill the requirements.
Stream Chat uses the image_picker
plugin.
Follow these instructions to check the requirements.
Web
For the web, edit your index.html
and add the following in the <body>
tag to allow the SDK to override the right-click behavior:
<body oncontextmenu="return false;"></body>
macOS
For macOS Stream Chat uses the file_selector
package. Follow these instructions to check the requirements.
You also need to add the following entitlements to Release.entitlement
and DebugProfile.entitlement
:
<key>com.apple.security.network.client</key>
<true/>
<key>com.apple.security.files.user-selected.read-write</key>
<true/>
Which grants:
- Internet permission
- File access permission