Skip to main content
このチュートリアルでは、リーダーボードのバージョン管理の概念について説明します。特定のリーダーボードの複数のバージョンを持ちたいケースは複数あります。たとえば、月次のトーナメント モードがあるゲームでは、リーダーボードの構造は同じままですが、特に競争性の高いゲームではプレイヤーが変わる可能性が高いです。 基本的なリーダーボードを作成するの例を引き続き使用します。ここでは、アーケード ゲームが非常に人気になったと想像してください。そこで、「Top of the Mountain」という新しいモードが導入されます。毎月、任意のプレイヤーが参加できるトーナメントを開催します。上位 100 人に入ったプレイヤーは、メイン メニューの特別なリーダーボードに表示され、誰がゲームで一番なのかを皆が確認できるようになります。

バージョン管理のためのリーダーボード定義を作成する

前の例では、リーダーボード定義を作成する際に、バージョン管理における VersionConfiguration パラメーターの重要性について触れました。ここでは、その使い方と仕組みを詳しく説明します。
この例が基本的なリーダーボードと異なる主なポイントは、VersionConfiguration パラメーターです。このパラメーターにより、同じリーダーボードのバージョンをいくつクエリできるかを指定する MaxQueryableVersions 設定を定義できます。この例では 12 バージョンをクエリできるように設定しており、直近 12 個のリーダーボードをクエリできるようにします。ResetInterval パラメーターは、リセット プロセスの頻度を定義します。この処理では、以前と同じ構成で空のリーダーボードが作成され、version パラメーターは N = N + 1 のように変更されます (リーダーボード定義の作成時は N = 0)。 たとえば、version パラメーターが 2 で、リーダーボードに 100 個のエントリがあるとします。ここでこのリーダーボードのバージョンをインクリメントすると、その結果、version パラメーターが 3 の空のリーダーボードが新しく作成されます。一方で、以前のリーダーボードはクエリ可能な状態でシステムに残ります。 ResetInterval はさまざまな方法で機能します。この例では月次ですが、開発者のニーズに応じて変更できます。この場合、リーダーボードは構成された時点から毎月自動的にリセットされることを意味します。次のリセット戦略をサポートしています:
  • Day
  • Hour
  • Manual
  • Month
  • Week
すべての利用可能な構成の詳細については、こちらの API ドキュメントを参照してください: API リファレンス - リーダーボードの作成

リーダーボードのバージョンをインクリメントする

この新しい構成により、トーナメント モードのために同じリーダーボードの複数のバージョンを持てるようになりました。しかし、問題が発生したためにリーダーボードを手動でリセットしてトーナメントを最初からやり直したい場合はどうでしょうか。そのような場合には、API を使って手動でリセットを行うことができます。SDK を使用した例を次に示します:

過去のバージョンをクエリする

リーダーボードの過去のバージョンをクエリする必要がある場合は、すべての GetLeaderboards API で利用可能な version パラメーターを使用できます。SDK を使用した例を次に示します:
これで、リーダーボードのバージョン管理に関するあらゆる課題に対処する準備が整いました。ここで重要な点は、バージョンとして保持することを決めたリーダーボード定義の数は、サービス内のストレージを使用するためメーターに計上されるということです。詳細については次を参照してください:

まとめ

このチュートリアルでは、次の操作の方法を学びました:
  • 適切なリセット戦略を持つリーダーボードの作成。
  • リーダーボードのバージョンのインクリメント。
  • リーダーボードの過去のバージョンのクエリ。

関連項目

最終更新日 2026年8月13日