Chat / iOS
Chat iOS v4
Chat iOS
Chat
iOS
Home
/
Chat
/
iOS
/
User
This is the new Docs for Chat SDK v4 for iOS. To see the previous Docs, click here.

Manage user metadata

Metadata consists of key-value items in which you can store additional information to users. You can add up to five key-value items for user metadata. Each key can have up to 128 characters and value can have up to 190 characters as string. This section explains how to manage user metadata.


Create metadata

You can create additional information such as phone number, email address or other descriptions to a user, which can be fetched or rendered into the UI. As an object, user metadata in [String: String] is stored into a User object.

To store user metadata into a User object, create [String: String] of key-value items, and then pass it as an argument to a parameter when calling the createMetaData() method. You can add multiple key-value items in the dictionary.

let user = SendbirdChat.getCurrentUser()!

let data = [
    "key1": "value1",
    "key2": "value2"
]

user.createMetaData(data) { metaData, error in
    guard error == nil else {
        // Handle error.
        return
    }
}

Retrieve

You can retrieve metadata stored to a user by calling the metadata property of a User object.

let metaData = user.metaData

Update

You can update metadata of a user by adding Dictionary of key-value items, and then pass it as an argument to a parameter when calling the updateMetaData() method. Values of existing keys will be updated and values of new keys will be added if the upsert parameter is set to true. You can put multiple key-value items in the dictionary.

let data = [
    "key1": "valueToUpdate1",
    "key2": "valueToUpdate2"
]

user.updateMetaData(data) { metaData, error in
    guard error == nil else {
        // Handle error.
        return
    }
}

Delete

You can delete metadata stored to a user as below.

user.deleteMetaData(key: "key1") { error in
    guard error == nil else {
        // Handle error.
        return
    }
}