実績とランキング
ランキング
ランキングの作成
このセクションでは、新規ゲームまたは既存ゲームのランキングを作成する方法について説明します。最大上限は 20 個で、各ゲーム内でランキング ID は一意である必要があります。
ゲームのランキングを作成するには、該当するゲームの GameRank 管理ページに移動し、拡張 > 追加 を選択し、ランキング作成ボタンをクリックしてください。
その後、このランキングに必要な情報を入力するだけです。
スコア形式
- 数値ランキングは、スコアを数値として表示します。これらのスコアは整数または浮動小数点数として表示できます(例:
3.14159
、3141.59
、314159
)。数値が大きすぎないように注意してください。現在は単精度のみサポートされています。 - 時間ランキングは、スコアを 時間/分/秒/100 分の 1 秒 の形式、または従来の時計形式(HH:MM:SS など)で表示します(例:
66032
、1:06:3
)。 - フォーマット済みスコアは、カスタム形式を使用してスコアを表示します。通貨単位の
$19.95
などのスコアを送信します。例:$19.95
。
背景画像ガイドライン
ランキングの背景画像は、1024 x 1024 の JPEG ファイルとして作成する必要があります。これはオプションです。アップロードされていない場合は、プラットフォームのデフォルト画像が使用されます。 すべての言語ロケールで同じ背景画像が使用されるため、画像内にテキストやローカライズされたコンテンツを含めないことをお勧めします。
ランキングの調整
ランキングのリストについて、開発者は異常なプレイヤーを処理できます:
- 削除: プレイヤーの現在表示されているランキングデータをランキングから削除します。
- ブラックリストに追加: 後続して、プレイヤーが現在のゲームのすべてのランキングに参加する資格を剥奪します。 ブラックリストに追加された後、「すべてのランキング」セクションでブラックリストに登録されたアカウントのリストを表示でき、そこからプレイヤーアカウントをブラックリストから削除する操作ができます。
- データ編集: クリックしてランキング編集ページを開きます。
- ランキング削除: クリックして指定されたランキングリストを削除します。
ランキングデータ報告フィールド
プレイヤーのゲーム内データが定義されたランキングの条件を満たした場合、ランキングデータ提出インターフェースを呼び出して、対応するランキングデータを Jogos バックエンドサービスに送信できます。プレイヤーは Jogos プラットフォームでランキングウィンドウを開き、ゲームのランキングと自分の順位を確認できます。
注意:インターフェースパラメータのランキング名とランキングデータは、開発者センターで定義された名前とデータタイプと完全に一致している必要があります。
開発者バックエンドでは、以下の 3 種類の報告データタイプを作成できます:
- 数値スコア: number
- 時間スコア: time
- フォーマット済みスコア: custom
報告データはキーと値のペアであり、値は数値、文字列、日付のいずれかでなければなりません。これは開発者センターで設定されたデータ形式と一致している必要があります。
ランキングデータ報告インターフェース
ランキングデータ報告インターフェース: JOGOS_SDK.game.commitRankingData
== HTML5
/**
* ランキングデータを提出する
*
* @param rankingName ランキングID
* @param data ランキングデータ
*/
await window.JOGOS_SDK.game.commitRankingData(rankingName: string, data: { [key: string]: any });
== Cocos
/**
* ランキングデータを提出する
*
* @param rankingName ランキングID
* @param data ランキングデータ
*/
await JOGOS_SDK.game.commitRankingData(rankingName: string, data: { [key: string]: any });
== Unity
ランキングデータ報告インターフェース: JogosSDK.Game.CommitRankingData
/// <summary>
/// ランキングデータを報告する
/// </summary>
/// <param name="rankingName"></param> ランキングID
/// <param name="rankingData"></param> 報告データ
/// <param name="action"></param> 報告成功コールバック
public void CommitRankingData(string rankingName, string rankingData, Action<bool> action)
//示例:
JsonObject json = new JsonObject();
json["number"] = 1;
JogosSDK.Game.CommitRankingData("LevelRank", json.ToString(), (isSucc) =>
{
Debug.Log("CommitRankingData isSucc:"+ isSucc);
});
:::
ランキングインターフェースを開くインターフェース:
ランキングインターフェースを開くインターフェース: JOGOS_SDK.game.openRankingDialog
特定のランキング(すべてのランキングではなく)を表示したい場合は、このメソッドにランキング名を渡すことができます(開発者バックエンドで作成した名前と一致する必要があります)。
== HTML5
/**
* ランキングウィンドウを開く
*
* @param rankingName ランキング名
*/
await window.JOGOS_SDK.game.openRankingDialog(rankingName: string);
== Cocos
/**
* ランキングウィンドウを開く
*
* @param rankingName ランキング名
*/
await JOGOS_SDK.game.openRankingDialog(rankingName: string);
== Unity
/// <summary>
/// ランキングインターフェースを開く
/// </summary>
/// <param name="rankingName"></param> ランキング名
/// <param name="action"></param> インターフェースオープンコールバック
public void OpenRankingDialog(string rankingName, Action<bool> action)
//示例:
JogosSDK.Game.OpenRankingDialog("LevelRank", (isSucc) =>
{
Debug.Log("OpenRankingDialog isSucc:" + isSucc);
});
:::
実績連携
プレイヤーが何らかの実績を達成した場合、プレイヤー実績データ提出インターフェースを呼び出して対応するデータを Jogos バックエンドサービスに送信できます。プレイヤーは Jogos プラットフォームでプレイヤー実績ウィンドウを開き、達成した実績を確認できます。
注意:インターフェースパラメータの実績名は、開発者センターで定義された名前であり、一致している必要があります。
実績が段階的実績でない場合:
- 対応する実績を達成した時点でのみ報告が必要です(つまり、実績に進捗表示はなく、報告することは実績達成を意味します)。
- 実績が段階的実績に設定されている場合:進捗状況
progress
はステップ ID に対応して報告する必要があります。つまり、ステップ 2 を完了したらprogress = 2
を報告します。
実績の作成
開発者バックエンドの GameService サービス - 実績ページで、実績の作成を選択します。 実績追加ページで、フォームに入力します。
各実績には、以下の関連する基本要素があります:
- 実績 ID: 英数字の組み合わせをサポートします。ゲーム内のプレイヤー報告とウェブサイトでの実績表示のマッチングに使用されます。この値は同一ゲーム内で一意である必要があります。
- 名称: 実績の名称(例:「Pieman」)。
- 実績条件: 実績の解除条件の説明。通常、この値はプレイヤーに達成方法を伝えます。
- アイコン: 実績に関連付けられた正方形のアイコン。ロック状態と解除状態の画像をアップロードする必要があります。
- 実績タイプ (Achievement Types), 3 種類をサポート, 単一選択, フロントエンドではタイプ順に分けて実績リストを表示します:
- 初級探索実績 (Beginner's Exploration Achievements), 900 個まで作成可能。
- 中級挑戦実績 (Intermediate Challenge Achievements), 50 個まで作成可能。
- 上級栄光実績 (Advanced Glory Achievements), 10 個まで作成可能。
状態: 実績は以下の 3 つの異なる状態のいずれかになります:
- 非表示実績 とは、実績の詳細情報がプレイヤーに非表示になることを意味します。Jogos ゲームサービスは、非表示状態の実績に対して汎用のプレースホルダーの説明とアイコンを提供します。実績に早期に表示したくないゲームのネタバレが含まれている場合(例:「ずっと幽霊だったことを発見する!」)、非表示に設定することをお勧めします。
- 公開実績 は、プレイヤーが実績の存在を知っているが、まだ達成していない状態であることを示します。ほとんどの実績は最初は公開状態で始まります。
- 達成済み実績 は、プレイヤーが正常に実績を達成したことを示します。プレイヤーはオフラインで実績を解除できます。ゲームがオンラインになると、Jogos ゲームサービスと同期して実績の達成状態が更新されます。
段階的実績
- 実績は標準または段階的のいずれかに指定できます。通常、段階的実績とは、プレイヤーが較長期間をかけて徐々に達成を目指す実績です。プレイヤーが段階的実績で進捗した場合、完了した進捗状況を Jogos ゲームサービスに報告できます。
- Jogos サービスは進捗情報を追跡し、プレイヤーが実績の達成に必要な条件を満たしたときにゲームに通知し、目標達成まであとどれくらいかをプレイヤーに伝えます。
アイコンガイドライン
アイコンは 512 x 512 の PNG、JPEG、または JPG ファイルとして作成する必要があります。達成済みの実績のアイコンのみを提供する必要があります。実績アイコンには、表示されている実績と達成済みの実績をユーザーが区別できるように、色の要素を含めることをお勧めします。 すべての言語ロケールで同じアイコンが使用されるため、アイコン内にテキストやローカライズされたコンテンツを追加しないことをお勧めします。
実績報告インターフェース
== HTML5
/**
* プレイヤー実績データを提出する
*
* @param name 実績ID
* @param progress 完了進捗
* @param hidden 非表示マーク
*/
await window.JOGOS_SDK.game.commitAchievementsData(name: string, progress: number, hidden: boolean);
== Cocos
/**
* プレイヤー実績データを提出する
*
* @param name 実績ID
* @param progress 完了進捗
* @param hidden 非表示マーク
*/
await JOGOS_SDK.game.commitAchievementsData(name: string, progress: number, hidden: boolean);
== Unity
/// <summary>
/// 実績を報告する
/// </summary>
/// <param name="name"></param> 実績ID
/// <param name="progress"></param> 進捗
/// <param name="hidden"></param> 非表示実績かどうか
/// <param name="action"></param> 報告成功コールバック
public void CommitAchievementData(string name, int progress, bool hidden, Action<bool> action)
//示例:
JogosSDK.Game.CommitAchievementData("level", 1, false,(isSucc)=>
{
Debug.Log("CommitAchievementData level,isSucc:"+ isSucc);
});
実績が段階的実績に設定されている場合: 対応する段階的実績を報告:
JogosSDK.Game.CommitAchievementData("Event", 1, false,null);
対応する段階的実績を報告すると同時に、総合実績進捗も報告する必要があります: 進捗 progress
: 例えば、段階的実績の総数が 3 で、完了数が 2 の場合(順序不同)、進捗として 2 を報告します。
JogosSDK.Game.CommitAchievementData("Root", 2, false,null);
:::
実績インターフェースを開くインターフェース:
Jogos プラットフォームはプレイヤー実績ウィンドウを開く機能を提供しており、必要に応じて、ゲーム内でインターフェースを呼び出してプレイヤー実績ウィンドウを開くこともできます。
== HTML5
// プレイヤー実績ウィンドウを開く
await window.JOGOS_SDK.game.openAchievementsDialog();
== Cocos
// プレイヤー実績ウィンドウを開く
await JOGOS_SDK.game.openAchievementsDialog();
== Unity
実績インターフェースを開くインターフェース: JogosSDK.Game.OpenAchievementsDialog
/// <summary>
/// 実績インターフェースを開く
/// </summary>
/// <param name="action">インターフェースオープンコールバック</param>
public void OpenAchievementsDialog(Action<bool> action)
//示例:
JogosSDK.Game.OpenAchievementsDialog((isSucc) =>
{
Debug.Log("OpenAchievementsDialog isSucc:"+ isSucc);
});
:::