|
|
|
@@ -1,14 +1,53 @@
|
|
|
|
|
# stream_chat_persistence
|
|
|
|
|
# Official Chat Persistence Client for [Stream Chat](https://getstream.io/chat/)
|
|
|
|
|
|
|
|
|
|
A new Flutter package.
|
|
|
|
|
<p align="center">
|
|
|
|
|
<a href="https://getstream.io/chat/flutter/tutorial/"><img src="https://i.imgur.com/L4Mj8S2.png" alt="Flutter Chat" width="60%" /></a>
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
## Getting Started
|
|
|
|
|
> The official Chat Persistence Client for Stream Chat, a service for
|
|
|
|
|
> building chat applications.
|
|
|
|
|
|
|
|
|
|
This project is a starting point for a Dart
|
|
|
|
|
[package](https://flutter.dev/developing-packages/),
|
|
|
|
|
a library module containing code that can be shared easily across
|
|
|
|
|
multiple Flutter or Dart projects.
|
|
|
|
|
[](https://pub.dartlang.org/packages/stream_chat_persistence)
|
|
|
|
|

|
|
|
|
|
[](https://gitter.im/GetStream/stream-chat-flutter?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
|
|
|
|
|

|
|
|
|
|
<img align="right" src="https://getstream.imgix.net/images/ios-chat-tutorial/iphone_chat_art@1x.png?auto=format,enhance" width="50%" />
|
|
|
|
|
|
|
|
|
|
For help getting started with Flutter, view our
|
|
|
|
|
[online documentation](https://flutter.dev/docs), which offers tutorials,
|
|
|
|
|
samples, guidance on mobile development, and a full API reference.
|
|
|
|
|
This package provides a persistence client for fetching and saving chat data locally.
|
|
|
|
|
Stream Chat Persistence uses [Moor](https://github.com/simolus3/moor) as a disk cache.
|
|
|
|
|
|
|
|
|
|
## Add dependency
|
|
|
|
|
Add this to your package's pubspec.yaml file, use the latest version [](https://pub.dartlang.org/packages/stream_chat_persistence)
|
|
|
|
|
```yaml
|
|
|
|
|
dependencies:
|
|
|
|
|
stream_chat_persistence: ^latest_version
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
You should then run `flutter packages get`
|
|
|
|
|
|
|
|
|
|
## Usage
|
|
|
|
|
The usage is pretty simple.
|
|
|
|
|
1. Create a new instance of StreamChatPersistenceClient providing `logLevel` and `connectionMode`.
|
|
|
|
|
```dart
|
|
|
|
|
final chatPersistentClient = StreamChatPersistenceClient(
|
|
|
|
|
logLevel: Level.INFO,
|
|
|
|
|
connectionMode: ConnectionMode.background,
|
|
|
|
|
);
|
|
|
|
|
```
|
|
|
|
|
2. Pass the instance to the official Stream chat client.
|
|
|
|
|
```dart
|
|
|
|
|
final client = Client(
|
|
|
|
|
apiKey ?? kDefaultStreamApiKey,
|
|
|
|
|
logLevel: Level.INFO,
|
|
|
|
|
)..chatPersistenceClient = chatPersistentClient;
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
And you are ready to go...
|
|
|
|
|
|
|
|
|
|
## Contributing
|
|
|
|
|
|
|
|
|
|
We welcome code changes that improve this library or fix a problem,
|
|
|
|
|
please make sure to follow all best practices and add tests if applicable before submitting a Pull Request on Github.
|
|
|
|
|
We are pleased to merge your code into the official repository.
|
|
|
|
|
Make sure to sign our [Contributor License Agreement (CLA)](https://docs.google.com/forms/d/e/1FAIpQLScFKsKkAJI7mhCr7K9rEIOpqIDThrWxuvxnwUq2XkHyG154vQ/viewform) first.
|
|
|
|
|
See our license file for more details.
|
|
|
|
|