アプリケーションとロビーの統計

Photon Serverはアプリケーションとロビー統計をクライアントにブロードキャストできます。 このデータを利用して、複雑なカスタムマッチメイキングシステムの実装が可能です。 またゲーム内でこれらの統計情報を表示して、ゲームの人気をアピールすることもできます。

アプリケーションの統計

Photonマスターサーバに接続すると、Photonクライアントはアプリケーションの統計を受信します。 クライアントがロビーに参加しているかどうかに関わらず、クライアントはAppStatsイベントを受信します。 アプリケーションの統計はリージョンごとです。

アプリケーションの統計には以下が含まれます:

  • 稼働しているルーム数:

    C#

    loadBalancingClient.RoomsCount
    

    C++

    Client::getCountGamesRunning()
    
  • ルームに参加していないプレイヤー数:

    C#

    loadBalancingClient.PlayersOnMasterCount
    

    C++

    Client::getCountPlayersOnline() - Client::getCountPlayersIngame()
    
  • ルーム内のプレイヤー数::

    C#

    loadBalancingClient.PlayersInRoomsCount
    

    C++

    Client::getCountPlayersIngame()
    
  • 接続しているプレイヤーの合計数::

    C#

    loadBalancingClient.PlayersOnMasterCount + loadBalancingClient.PlayersInRoomsCount
    

    C++

    Client::getCountPlayersOnline()
    

    AppStatsイベントは、クライアントに5秒ごとに送信されます。

    ネイティブ C++ SDKでは Listener クラスが常にコールバックを提供するため、統計が最新の状態にアップデートされていることが分かります:

    C++

    virtual void onAppStatsUpdate(void) {}
    

ロビーの統計

ロビーの統計は、複数のロビーを使用するゲームでアクティビティを表示したい場合に役立ちます。 ロビーの統計はリージョンごとです。

ロビーの型(名前と型)ごとに以下の情報を取得できます:

  • 稼動しているルーム数
  • ロビーに参加しているプレイヤーの合計数、またはロビーのルームに参加しているプレイヤーの合計数

ロビーの統計を自動的に取得

ロビー統計イベントは、クライアントがマスターサーバーに認証されるとすぐに送信されます。 その後、これらのイベントは毎分送信されます。 ロビー統計イベントは、デフォルトでは有効化されていません。

  • C#

    接続前にロビーの統計を有効化するには::

    C#

    loadBalancingClient.EnableLobbyStatistics = true;
    

    統計はILobbyCallbacks.OnLobbyStatisticsUpdateコールバックから取得してください。このコールバックはUIのアップデートにも活用できます。

  • C++

    ロビーの統計を有効化するには、 クラスClientのコンストラクターへのパラメータ autoLobbyStats にtrueを渡す必要があります:

    C++

    Client(LoadBalancing::Listener& listener, const Common::JString& applicationID, const Common::JString& appVersion, nByte connectionProtocol=Photon::ConnectionProtocol::DEFAULT, bool autoLobbyStats=false, nByte regionSelectionMode=RegionSelectionMode::DEFAULT);
    

    Listener クラスは、ロビー統計イベントを受信すると常に以下のオプションのコールバックを提供します(有効化されている場合)::

    C++

    virtual void onLobbyStatsUpdate(const Common::JVector<LobbyStatsResponse>& lobbyStats) {}
    

明示的にロビーの統計を取得

ルームに参加していない場合、オペレーションコールを使用して明示的にロビーの統計をリクエストできます:

  • C#

    この機能は、現在実装されていません。

  • C++

    C++

    Client::opLobbyStats()
    

    Listenerクラスは、レスポンスを受信すると以下のオプションのコールバックを提供します:

    C++

    virtual void onLobbyStatsResponse(const Common::JVector<LobbyStatsResponse>& lobbyStats) {}
    
Back to top