I know this is a little late. But what I did, was I used a property as a key.
Dictionary<string, object> dict = new Dictionary<string, object>();
dict.Add("CODE", randS);
MyClient.CreateRoom(name, owner, maxUsers, dict);
As you can see, I used a dictionary to add a CODE key.
Next I used the next line to search for rooms with specific propetys, aka which for now would only be CODE.
MyClient.GetRoomWithProperties(dict);
Now you can use a ZoneRequestListener to get the actual room id. Below is a onGetMatchedRoomsDone method. This is run whenever GetRoomWithProperties is run. I used a bunch of comments to explain the below code more
public void onGetMatchedRoomsDone(MatchedRoomsEvent matchedRoomsEvent)
{
RoomData[] rdArr = matchedRoomsEvent.getRoomsData(); //return the data of all the rooms
if (rdArr.Length > 0) //if the array is longer than 1 we found at least one room
{
Console.WriteLine("Found rooms");
String roomID = rdArr[0].getId(); //I'm still early in development, so for now I'm just assuming I got one room.
//You could check here to see if you got more than one room which in that case throw an error or something.
WarpClient.GetInstance().JoinRoom(roomID); //Now you can join the room based on the ID.
}
else
{
Console.WriteLine("Can't find rooms");
}
}
I hope this helps, it's been over a year since OP asked, so maybe someone else who needs help will stumble upon this. I'm pretty new to App warp, so there may definetly be a better way to do this.