ably_flutter 1.2.42
ably_flutter: ^1.2.42 copied to clipboard
A wrapper around Ably's Cocoa and Java client library SDKs, providing iOS and Android support.
Ably Pub/Sub Flutter SDK #
Build any realtime experience using Ably’s Pub/Sub Flutter SDK. Supported on popular platforms and frameworks, including Android and iOS.
Ably Pub/Sub provides flexible APIs that deliver features such as pub-sub messaging, message history, presence, and push notifications. Utilizing Ably’s realtime messaging platform, applications benefit from its highly performant, reliable, and scalable infrastructure.
Find out more:
Getting started #
Everything you need to get started with Ably:
Supported platforms #
Ably aims to support a wide range of platforms. If you experience any compatibility issues, open an issue in the repository or contact Ably support.
This SDK supports the following platforms:
| Platform | Support |
|---|---|
| Android | Android 4.4 (API level 19) or newer. Java 8 language features supported via Desugaring. |
| iOS | iOS 10 or newer |
| Flutter | Flutter 2.5.0 or higher |
Note
If your project needs support for SDK Version lower than 24, Android Gradle Plugin 4.0.0+ must be used. You might also need to upgrade gradle distribution. [!IMPORTANT] SDK versions < 1.2.25 will be deprecated from November 1, 2025.
Installation #
To get started with your project, install the package:
Add the Ably Flutter package to your project by including it in your pubspec.yaml file:
dependencies:
ably_flutter: ^1.2.42
Once added to your dependencies, import it in your Dart code:
import 'package:ably_flutter/ably_flutter.dart' as ably;
Note
When increasing the version of ably_flutter in your pubspec.yaml, if there are breaking changes, follow the updating / migration guide.
Usage #
The following code connects to Ably's realtime messaging service, subscribes to a channel to receive messages, and publishes a test message to that same channel:
// Initialize Ably Realtime client
final clientOptions = ably.ClientOptions(
key: 'your-ably-api-key',
clientId: 'me',
);
final realtimeClient = ably.Realtime(options: clientOptions);
// Wait for connection to be established
await realtimeClient.connection
.on(ably.ConnectionEvent.connected)
.first
.then((stateChange) {
print('Connected to Ably');
});
// Get a reference to the 'test-channel' channel
final channel = realtimeClient.channels.get('test-channel');
// Subscribe to all messages published to this channel
channel.subscribe().listen((ably.Message message) {
print('Received message: ${message.data}');
});
// Publish a test message to the channel
await channel.publish(
name: 'test-event',
data: 'hello world',
);
Releases #
The CHANGELOG.md contains details of the latest releases for this SDK. You can also view all Ably releases on changelog.ably.com.
Contributing #
Read the CONTRIBUTING.md guidelines to contribute to Ably.
Support, feedback, and troubleshooting #
For help or technical support, visit the Ably Support page or GitHub Issues for community-reported bugs and discussions.