Available SDKs

Ably SDKs provide a consistent and idiomatic API across a variety of supported platforms. They contain a realtime and a REST interface, each of which offer different functionality and satisfy different use cases.

Use this page to check for which version of an SDK a feature is supported from. Be aware that this can vary between the realtime and the REST interface, as well as between SDKs.

The realtime interface is implemented using an Ably-defined protocol, with communication primarily over WebSockets. It enables devices and browsers to maintain a persistent connection to Ably. A WebSocket connection to Ably is multiplexed, allowing multiple channels to share a single connection. It is also bi-directional, allowing realtime messages to be sent both to and from the Ably service without having to fall back to inefficient techniques like HTTP polling. Realtime interface APIs are only usable in environments that support asynchronous or evented IO.

The REST interface communicates with the Ably service using the HTTP protocol and is effectively stateless. The REST interface provides a convenient way to access the REST HTTP API and is intended to be used by clients that don’t require realtime updates.

Deciding which interface to use depends on your application and use case.

The following table contains a list of common platforms and languages. The Ably SDK that supports each is listed, including a link to the relevant GitHub repository.

Platform / Language Repository Version Notes
Android ably-java v1.2
Clojure ably-java v1.2
Cordova / Phonegap ably-js v1.2
Flutter ably-flutter v1.2
Go ably-go v1.2
iOS Objective-C ably-cocoa v1.2
iOS Swift ably-cocoa v1.2
Java ably-java v1.2
Javascript ably-js v1.2
Kotlin ably-java v1.2
Laravel (PHP) ably-laravel-broadcaster v1.0 REST only
MacOS ably-cocoa v1.2
Mono ably-dotnet v1.2
NativeScript ably-js-nativescript v1.2
.NET ably-dotnet v1.2
Node.js ably-js v1.2
PHP ably-php v1.1 REST only
Scala ably-java v1.2
Python ably-python v2.0
React ably-js v1.2
React Native ably-js v1.2
Ruby ably-ruby v1.2
Ruby (REST only) ably-ruby-rest v1.2 REST only
tvOS ably-cocoa v1.2
Unity ably-dotnet v1.2
Xamarin / Xamarin.forms ably-dotnet v1.2

The Spaces SDK enables you to implement realtime collaborative features in your applications.

Platform / Language Repository Version Notes
JavaScript spaces v0.1.2 In beta

The following tables show the minimum version that a feature is supported from in each Ably SDK.

Feature Flutter Go iOS Java JavaScript .Net PHP Python Ruby
Ably token generation v0.8+ v0.8+ v0.8+ v0.8+ v0.8+ v0.8+ v0.8+ v0.8+ v0.8+
Symmetric encryption v0.8+ v0.8+ v0.8+ v0.8+ v0.8+ v0.8+ v0.8+ v0.8+ v0.8+
MsgPack binary protocol v0.8+ v0.8+ v0.8+ v0.8+ v0.8+ v0.8+ v0.8+ v0.8+ v0.8+
JWT auth v1.1+ v1.1+ v1.1+ v1.1+ v1.1+ v1.1+ v1.1+ v1.1+ v1.1+
fromEncoded function v1.1+ v1.1+ v1.1+ v1.1+ v1.1+ v1.1+ v1.1+ v1.1+ v1.1+
Message extras v1.1+ v1.1+ v1.1+ v1.1+ v1.1+ v1.1+ v1.1+ v1.1+ v1.1+
ErrorInfo URLs to help debug issues v1.1+ v1.1+ v1.1+ v1.1+ v1.1+ v1.1+ v1.1+ v1.1+ v1.1+

Feature Flutter Go iOS Java JavaScript .Net Ruby Python
Publish v0.8+ v0.8+ v0.8+ v0.8+ v0.8+ v0.8+ v0.8+ via REST
Subscribe v0.8+ v0.8+ v0.8+ v0.8+ v0.8+ v0.8+ v0.8+ v2.0+
Presence v0.8+ v0.8+ v0.8+ v0.8+ v0.8+ v0.8+ v0.8+
History v0.8+ v0.8+ v0.8+ v0.8+ v0.8+ v0.8+ v0.8+ v2.0+
Stats v0.8+ v0.8+ v0.8+ v0.8+ v0.8+ v0.8+ v0.8+ v2.0+
Push Notifications target v1.1+ v1.1+ v1.1+ v1.1+ v1.1+ v1.1+ v1.1+ v2.0+
Transient publishing v1.1+ v1.1+ v1.1+ v1.1+ v1.1+ v1.1+ v1.1+
Reconnect on failed auth v1.1+ v1.1+ v1.1+ v1.1+ v1.1+ v1.1+ v1.1+ v2.0+
Custom transportParams v0.8+ v0.8+ v0.8+ v0.8+ v0.8+ v0.8+ v0.8+
Message delta compression v1.2+ v1.2+ v1.2+ v1.2+ v1.2+ v1.2+ v1.2+

Feature Flutter Go iOS Java JavaScript .Net PHP Python Ruby
Channel publish v0.8+ v0.8+ v0.8+ v0.8+ v0.8+ v0.8+ v0.8+ v0.8+ v0.8+
History v0.8+ v0.8+ v0.8+ v0.8+ v0.8+ v0.8+ v0.8+ v0.8+ v0.8+
Presence (get state) v0.8+ v0.8+ v0.8+ v0.8+ v0.8+ v0.8+ v0.8+ v0.8+ v0.8+
Ably token generation v0.8+ v0.8+ v0.8+ v0.8+ v0.8+ v0.8+ v0.8+ v0.8+ v0.8+
Stats v0.8+ v0.8+ v0.8+ v0.8+ v0.8+ v0.8+ v0.8+ v0.8+ v0.8+
Push Notifications admin v1.1+ v1.1+ v1.1+ v1.1+ v1.1+ v1.1+ v1.1+ v1.1+ v1.1+
Remember fallback host during failures v1.1+ v1.1+ v1.1+ v1.1+ v1.1+ v1.1+ v1.1+ v1.1+ v1.1+
Realtime and REST interfaces