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.
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.
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.
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.
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.
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.
You can delete a channel metacounter as shown below.