Hi,
I’m trying to use new Nakama feature to save friend metadata to mark them as favorite. The only method to actually change friend metadata seems to be Client.AddFriendsAsync()
and providing metadata parameter, which I do, but server does not seem to save it, because I’m getting empty friend metadata back when I call it with NakamaClient.ListFriendsAsync()
I’m using Nakama 3.26 and latest Unity SDK. Thanks for advices.
Method to save metadata:
private void UpdateFriendMetadata(string friendId, string keyToWrite, object valueToWrite)
{
Dictionary<string, string> metadata = new()
{
{ keyToWrite, valueToWrite.ToString().ToLower() }
};
string metadataString = Nakama.TinyJson.JsonWriter.ToJson(metadata);
AddFriend(friendId, metadataString);
}
Method for adding friend:
public async void AddFriend(string userID, string metadata = "")
{
string[] usernames =
{
userID
};
await NakamaClient.AddFriendsAsync(CurrentSession, usernames, usernames: Array.Empty<string>(), metadata: metadata);
}