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

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

アプリケーションの統計

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

アプリケーションの統計は以下のとおりです:

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

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

  • ルーム内のプレイヤー数:

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

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

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

        virtual void onAppStatsUpdate(void) {}

ロビーの統計

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

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

  • 稼動しているルーム数 
  • ルームに参加していないプレイヤー数

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

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

  • C#

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

        loadBalancingClient.EnableLobbyStatistics = true;

    ロビーの統計はアップデートおよびキャッシュされ、以下を使用して取得できます:

        loadBalancingClient.LobbyStatistics
  • C++

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

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

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

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

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

  • C#

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

  • C++

        Client::opLobbyStats()

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

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

 ドキュメントのトップへ戻る