Manage channel metacounters
Using a channel metacounter, you can store additional information to channels such as the tracking the number of likes on a message. A channel metacounter in [String: Int]
can be stored into an OpenChannel
or a GroupChannel
object and can be fetched or rendered into the UI.
A channel metacounter is primarily used to track and update discrete indicators in a channel. Use channel metacounters instead of channel metadata when you need an integer with increasing and decreasing atomic operations.
Create a metacounter
To store a metacounter into a channel, create a dictionary of a [String: Int]
object and add key-value items. Then pass the object as an argument to a parameter when calling the createMetaCounters(_:completionHandler:)
method. You can put multiple key-value items in the dictionary.
Update a metacounter
The procedure of updating a channel metacounter is the same as creating a channel metacounter. Values of existing keys are updated and values of new keys are added.
Increase a metacounter
You can increase values in a channel metacounter by passing a [String: Int]
object of the items to increase as an argument to a parameter in the increaseMetaCounters(_:completionHandler:)
method. The values of corresponding keys in the metacounter are increased by the specified number.
Decrease a metacounter
You can decrease values in a channel metacounter by passing a [String: Int]
object of the items to decrease as an argument to a parameter in the decreaseMetaCounters(_:completionHandler:)
method. The values of corresponding keys in the metacounter are decreased by the specified number.
Retrieve a metacounter
You can retrieve a channel metacounter by creating an Array
of keys to retrieve and passing it as an argument to a parameter in the getMetaCounters(keys:completionHandler:)
method. Then a matching [String: Int]
value is returned through completionHandler
with the corresponding key-value items.
Delete a metacounter
You can delete a channel metacounter as shown below.