GS2 Blog

Game Server Services(https://gs2.io/) の最新情報をお届けします

GS2-Inbox のメッセージ取得時に既読状態でフィルタする機能を追加しました

はじめに

GS2-Inbox はプレゼントボックスやメッセージボックスの機能を提供するマイクロサービスです。

機能追加の背景

GS2-Inbox の受信済みメッセージの一覧取得は、既読・未読問わず新しいものから順番に取得することしかできませんでした。
しかし、UXの観点から既読メッセージと、未読メッセージを分けて表示したいことがあります。

追加された機能の詳細

メッセージ一覧を取得するAPIに isRead 引数を追加しました。
この値を null を指定、または省略することでこれまで通り、既読未読問わず一覧を取得できます。
true を指定することで既読メッセージのみ、false を指定することで未読メッセージのみを取得できます。

Unity からの使用例

全てのメッセージ一覧を取得

    var domain = gs2.Inbox.Namespace(
        namespaceName: "namespace-0001"
    ).Me(
        gameSession: GameSession
    );
    var items = await domain.MessagesAsync(
    ).ToListAsync();

未読メッセージ一覧を取得

    var domain = gs2.Inbox.Namespace(
        namespaceName: "namespace-0001"
    ).Me(
        gameSession: GameSession
    );
    var items = await domain.MessagesAsync(
        isRead: false
    ).ToListAsync();

既読メッセージ一覧を取得

    var domain = gs2.Inbox.Namespace(
        namespaceName: "namespace-0001"
    ).Me(
        gameSession: GameSession
    );
    var items = await domain.MessagesAsync(
        isRead: true
    ).ToListAsync();
(C) Game Server Services, Inc.