搜索插件、代码仓与 APP 分类

stream_chat_flutter 封面
插件详情v9.23.0

stream_chat_flutter

Stream Chat 官方 Flutter SDK。使用 Dart 和 Flutter 构建您自己的聊天体验。

AndroidiOSWebmacOSWindowsLinux
近 30 天下载
4.2万
喜欢数
390
Pub 分数
120

安装插件

flutter pub add stream_chat_flutter

插件介绍

基于插件公开信息、社区数据与项目使用情况整理的选型参考。

Stream Chat Flutter SDK 使开发者能够使用 Dart 在 Flutter 应用程序中构建自定义的实时聊天体验。它提供了一套强大的工具,用于实现文本、图片和文件共享等消息功能,并支持在线状态、输入指示器和消息反应。该 SDK 可无缝集成到 Android、iOS、Web、macOS、Windows 和 Linux 平台,提供一致的性能和设计。凭借强大的可扩展性和安全性,非常适合需要可靠且功能丰富的通信功能的应用。

适合场景

  • 实时团队协作
  • 客户支持聊天界面
  • 社交媒体消息
  • 多人游戏聊天
  • 电子商务买家卖家沟通

主要特点

  • 实时消息传递
  • 跨平台兼容性
  • 消息回复和输入指示
  • 在线用户状态跟踪
  • 文件和图像附件支持

适合对象

  • 开发聊天密集型应用的开发者
  • 需要可扩展消息解决方案的团队
  • 需要多平台聊天的应用
  • 希望快速集成聊天功能的初创企业

使用建议

  • 需要 Stream 账户和 API 密钥
  • 用于身份验证的额外后端设置
  • 高级功能的学习曲线可能较高
  • 依赖于Stream的基础设施稳定性

原始 README

以下为关联源码仓库的 README 原文快照,最新内容请访问源码仓库。

Official Flutter packages for Stream Chat

Stream Chat Flutter SDK hero image

CI Melos

V10 brings a modern redesign, a unified design system shared across all Stream SDK platforms, and improved developer experience.

Quick Links

What's New in V10

Version 10 is a major update to the Stream Chat Flutter SDK:

  • Modern redesign — refreshed channel list, message list, composer, reactions, avatars, and media viewer with a cleaner, more polished default look.
  • Unified design system — design tokens (colors, typography, spacing, icons) are now consistent across all Stream SDK platforms. Theming is rebuilt around StreamTheme, a Flutter ThemeExtension registered on MaterialApp.theme.
  • Cross-platform name alignment — APIs and component names now match their iOS, Android, React, and React Native counterparts (e.g. StreamMessageComposer, StreamChannelListItem).
  • StreamComponentFactory — a single customization entry point that replaces the scattered builder slots that previously lived on each widget.
  • Cookbook — new task-oriented recipes for common customizations.

See the V10 Migration Guide for a full list of breaking changes and upgrade instructions.

Features

The UI package ships an extensive set of performant and customizable widgets:

  • Rich media messages with Markdown rendering
  • Reactions
  • Threads and quoted replies
  • Typing and read indicators
  • Channel and message lists
  • Message composer with autocomplete triggers (@ mentions, / commands)
  • Image, video, and file uploads with previews and a built-in media gallery viewer
  • Voice messages
  • Polls
  • Drafts
  • Pinned messages
  • Message reminders
  • Message actions context menu (reply, edit, copy, pin, delete, flag, mute, block, and more)
  • Message search
  • Giphy support
  • AI assistant streaming responses
  • Push notifications (Firebase, APN, and Huawei)
  • Offline storage and optimistic updates
  • Static and live location sharing
  • Localization
  • and a lot more.

Sample App

Check out the sample_app in this repository — a fully functional messenger built with stream_chat_flutter that demonstrates the SDK's core features end to end. It is the recommended reference when wiring things up in your own app.

For more sample apps and demos, visit GetStream/flutter-samples.

Free for Makers

Stream is free for most side and hobby projects. To qualify, your project/company needs to have fewer than five team members and under $10,000 in monthly revenue. For complete pricing details, visit our Chat Pricing Page.

Packages

Stream Chat Dart is a monorepo built using Melos. Individual packages can be found in the packages directory; configuration and top-level commands live in melos.yaml.

The SDK is layered — each package builds on top of the previous:

stream_chat

The low-level client (LLC), a pure Dart package that wraps the Stream Chat API. Use it directly if you want to build your own UI and state layer.

stream_chat_flutter_core

Provides the business logic, controllers, and builders required to integrate Stream Chat into a Flutter app, without shipping any UI of its own.

stream_chat_flutter

The full UI SDK. Includes a set of reusable and customizable UI widgets on top of the core and low-level client packages. This is the recommended starting point for most apps.

stream_chat_persistence

Provides a Drift-backed persistence client for offline storage. Plugs into any of the packages above.

stream_chat_localizations

Provides a set of localizations for the UI SDK.

Choosing the Right Package

We recommend using stream_chat_flutter for most apps. Unless your UI is completely different from the common industry standard, you should be able to customize the built-in widgets to match your needs.

  • Use stream_chat_flutter_core if you need full UI control but want the data/state logic handled for you.
  • Use stream_chat directly for maximum control over architecture, UI, and data.

You can also mix and match — it is common to use the UI SDK for most screens and drop down to the low-level client for specific operations.

Getting Started

To get started, run bootstrap after cloning the project:

melos bootstrap

The best place to start is the Flutter Chat Tutorial. It teaches you how to use this SDK and shows how to make frequently required changes.

Every package folder also includes a fully functional example with setup instructions.

Versioning Policy

All of the Stream Chat packages follow semantic versioning:

  • Bug fixes and behavior improvements cause a patch version bump.
  • New features are shipped with an increased minor version.
  • Incompatible API changes cause a major version increase.

Occasionally, the SDK can include visual changes (whitespace, color, sizing) in minor versions as we continuously improve the default look of our UI widgets.

See the installation docs and the releases page for the full version history.

We Are Hiring

We've recently closed a $38 million Series B funding round and we keep actively growing. Our APIs are used by more than a billion end-users, and you'll have a chance to make a huge impact on the product within a team of the strongest engineers all over the world.

Check out our current openings and apply via Stream's website.

所属分类

源码仓库

使用此插件的项目