这是 Stream Chat 的官方 Android SDK,这是一项用于构建聊天和消息传递应用程序的服务。该库包括一个低级聊天 SDK 和一组可重用的 UI 组件。大多数用户从 UI 组件开始,然后在想要自定义内容时退回到较低级别的 API。
我们很自豪地说,我们是第一个支持 Jetpack Compose 的 Android 聊天 SDK!我们在 Jetpack Compose 1.0 官方发布一天后发布了 Compose UI 组件,从那时起我们的团队成员就一直在努力工作。
现在它已经足够成熟和稳定,我们可以正式推荐它用于所有新应用程序和所有现代聊天实现。如果您正在寻找高度可定制且性能极高的东西,请查看我们的 Compose SDK。
Android SDK 同时支持 Kotlin 和 Java,但我们强烈建议使用 Kotlin 。
注意:Compose SDK 仅支持 Kotlin,因为 Compose 使用 Kotlin 编译器插件来处理 UI。
对于大多数业余项目和业余爱好项目来说,Stream 是免费的。要获得资格,您的项目/公司需要拥有 < 5 名团队成员且月收入 < 1 万美元。有关完整的定价详细信息,请访问我们的聊天定价页面。
该 SDK 包含两个可用于构建的低级工件:
我们还有两个 UI SDK 。您可以使用我们的 Compose UI 组件 SDK,或者如果您使用的是较旧的 UI 解决方案,则可以使用基于 XML 的 UI 组件:
通过访问文档了解有关模块的更多信息。
最好的起点是撰写聊天消息教程。它教您使用 Compose Chat SDK 的基础知识,并展示如何进行经常需要的更改。
注意:如果您使用的是较旧的 UI 工具包(例如 XML),您可以按照 Android 聊天消息教程,其中包含基于 XML 的 UI 组件。
请参阅文档的依赖项和入门页面。
我们的 Jetpack Compose 实现附带了自己的示例应用程序,您可以使用它来了解 Compose 有多棒。
要运行示例应用程序,请首先克隆此存储库:
git clone [email protected]:GetStream/stream-chat-android.git
接下来,打开Android Studio并打开新创建的项目文件夹。您需要运行stream-chat-android-compose-sample
模块。
由于 Compose 是一个高度可定制的 SDK,因此我们渴望听到您关于它如何帮助您构建复杂的聊天 UI 的反馈。加入我们此存储库的讨论或发送推文@getstream_io!
但是,如果由于技术限制您仍在使用 XML,我们的 UI 组件 SDK 包含一个功能齐全的示例应用程序,具有线程、反应、输入指示器、乐观 UI 更新和离线存储。要运行示例应用程序,请首先克隆此存储库:
git clone [email protected]:GetStream/stream-chat-android.git
接下来,打开Android Studio并打开新创建的项目文件夹。您需要运行stream-chat-android-ui-components-sample
应用程序。
我们还在 GetStream/Android-Samples 上维护了一个专门的存储库,用于存放成熟的示例应用程序。
以下是 SDK 支持的一些开箱即用的功能:
有关更多信息,请参阅 SDK 的网站。
使用R8时,会自动应用收缩和混淆规则。
如果您使用ProGuard ,则需要将以下规则从 client、ui-common 和 Previewdata 模块添加到您的应用程序。
您可能还需要为 SDK 的依赖项 Coroutines、Retrofit 和 OkHttp 应用规则。
我们最近完成了 3800 万美元的 B 轮融资,并且我们一直在积极发展。我们的 API 被超过 10 亿最终用户使用,您将有机会在全球最强大的工程师团队中对产品产生巨大影响。查看我们当前的空缺职位并通过 Stream 网站进行申请。
Copyright (c) 2014-2022 Stream.io Inc. All rights reserved.
Licensed under the Stream License;
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
https://github.com/GetStream/stream-chat-android/blob/main/LICENSE
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.