リアルタイム通信アプリケーションを作るとき、Roomを利用するにあたり、クライアント側で参加可能なRoomのリストを取得したいことがあるでしょう。
DiarkisのRoomモジュールでは、Roomに「タイプ」を割り当てることができ、この「タイプ」ごとに参加可能なRoomをリストアップすることができます。
Roomモジュールの使い方
本記事を読む前に、Diarkis Roomモジュールがどのようなものかを紹介している こちら のエントリを参照してください。
タイプ別にRoomを登録する方法
Roomをタイプ別に見つけられるようにするためには、まずRoomをタイプ別に登録する必要があります。
以下にDiarkis C#クライアントを用いた実装方法を示します。
// This event is raised when the room has been registered or failed to register
room.OnRegister += HandleOnDiarkisRoomRegister;
private void HandleOnDiarkisRoomRegister(bool success, string msg)
{
// Well yay or nay
}
// Room type to assgin to the room and this will be used to find the room
int roomType = 1;
// Room name that you want to assign to the room
string roomName = "My Awesome Room";
// Room metadata as a string for extra information
string roomMetadata = "This is my public room to be shared";
room.Register(roomType, roomName, roomMetadata);
登録されているRoomをタイプ別に探す方法
以下の例は、同じタイプの部屋のリストを検索する実装例です。
// This event is raised when a list of rooms is found or not
room.OnFindRoomsByType += HandleOnDiarkisFindRooms;
private void HandleOnDiarkisFindRooms(bool success, List<Diarkis.Modules.Room.RoomListItem> rooms)
{
if (!success)
{
// Handle error
return;
}
// We have a list of rooms with the same type
}
// Room type to find
int roomType = 1;
// How many rooms to find (The results may be less than this)
int limit = 10;
// OnFindRoomsByType will be raised to give us the results
room.FindRoomsByType(roomType, limit);
C# クライアント SDK v0.1.11 以降
その他のRoomモジュールの使い方については こちら のエントリを参照してください。