Documentation Index Fetch the complete documentation index at: https://developers.cloudflare.com/realtime/llms.txt Use this file to discover all available pages before exploring further.
The RealtimeKit Stores API allows you to create multiple key-value pair realtime stores. Users can subscribe to changes in a store and receive real-time updates. Data is stored until a session is active.
This page is not available for the Flutterplatform.
Create a Store
You can create a realtime store (changes are synced with other users):
Param
Type
Description
Required
name
string
Name of the store
true
To create a store:
const stores = useRealtimeKitSelector((m) => m.stores);const store = stores.create('myStore');
const store = meeting.stores.create('myStore');
const store = meeting.stores.create('myStore');
val meeting = RealtimeKitMeetingBuilder.build(activity)val store = meeting.stores.create("myStore")
let meeting = RealtimeKitiOSClientBuilder().build()let store = meeting.stores.create(name: "myStore")
This feature is not currently supported in the Flutter SDK
Update a Store
You can add, update or delete entries in a store:
Param
Type
Description
Required
key
string
Unique identifier used to store/update a value in the store
Yes
value
StoreValue
Value that can be stored against a key
Yes
type StoreValue = string | number | object | array;
val store = meeting.stores.get("myStore")store.set("user", mapOf("name" to "John Doe"))
let store = meeting.stores.get(name: "myStore")store.set("user", ["name": "John Doe"])
Subscribe to a Store
You can attach event listeners on a store's key, which fire when the value changes.
const stores = useRealtimeKitSelector((m) => m.stores.stores);const store = stores.get('myStore');store.subscribe('key', (data) => { console.log(data);});// subscribe to all keys of a storestore.subscribe('\*', (data) => {console.log(data);});store.unsubscribe('key');
const { stores } = meeting.stores;const store = stores.get('myStore');store.subscribe('key', (data) => { console.log(data);});// subscribe to all keys of a storestore.subscribe('\*', (data) => {console.log(data);});store.unsubscribe('key');
const { stores } = meeting.stores;const store = stores.get('myStore');store.subscribe('key', (data) => { console.log(data);});// subscribe to all keys of a storestore.subscribe('\*', (data) => {console.log(data);});store.unsubscribe('key');
val store = meeting.stores.create("myStore")val keyChangeCallback = { key: String, value: Any? -> println(value)}store.subscribe("key", keyChangeCallback)// Subscribe to all keysstore.subscribe(RtkStore.WILDCARD_KEY) { key, value -> println(value)}store.unsubscribe("key", keyChangeCallback)
let store = meeting.stores.create(name: "myStore")let keyChangeCallback: ((String, (Any?)) -> Void) = { key, value in print(value ?? "null")}store.subscribe(key: "key", onChange: keyChangeCallback)// Subscribe to all keysstore.subscribe(key: RtkStore.Companion().WILDCARD_KEY) { key, value in print(value ?? "null")}store.unsubscribe(key: "key", onChange: keyChangeCallback)
Fetch Store Data
You can fetch the data stored in the store:
const stores = useRealtimeKitSelector((m) => m.stores.stores);const store = stores.get('myStore');// fetch value for a specific keyconst data = store.get('key');// fetch all the data in the storeconst data = store.getAll();
const { stores } = meeting.stores;const store = stores.get('myStore');// fetch value for a specific keyconst data = store.get('key');// fetch all the data in the storeconst data = store.getAll();
const { stores } = meeting.stores;const store = stores.get('myStore');// fetch value for a specific keyconst data = store.get('key');// fetch all the data in the storeconst data = store.getAll();
val store = meeting.stores.create("myStore")// fetch value for a specific keyval data = store.get("key")// fetch all the data in the storeval data = store.getAll()
let store = meeting.stores.create(name: "myStore")// fetch value for a specific keystore.get(key: "key")// fetch all the data in the storestore.getAll()