コンテンツにスキップ

実績

実績機能は、実績の解除、実績進捗の報告、現在のゲームの全実績クリアに分かれます。実績 key はバックエンド設定と一致している必要があります。サンプル内の key は呼び出し方法を示すためだけに使っています。

エンジン状態説明
UnityPreviewメインパッケージが公開呼び出し入口を提供します。
GameMakerPreviewWindows runtime が解除、進捗報告、全実績クリアを提供します。
Godot開発中プレビュー runtime には実績呼び出し入口があります。
  • 起動と接続 が完了している。
  • 対応する実績がバックエンドで作成済みである。
  • ゲームコード内の実績 key がバックエンド設定と一致している。
  • Unity / GameMaker / Godot は現在、ローカル IGP デスクトップクライアントを通じて実績呼び出しを行います。
using UnityEngine;
using IGP.UnitySDK;
public sealed class IGPAchievementButtons : MonoBehaviour
{
[SerializeField] private IGPRuntimeManager runtimeManager;
public async void UnlockFirstSession()
{
var result = await IGPSDK.UnlockAchievementAsync(
runtimeManager,
"first_session");
Debug.Log($"Unlock success={result.success}, duplicated={result.duplicated}");
}
public async void AddMatchProgress()
{
var result = await IGPSDK.ReportAchievementProgressAsync(
runtimeManager,
"matches_played",
1,
"match_complete");
Debug.Log($"Progress success={result.success}, duplicated={result.duplicated}");
}
public async void ClearAllAchievements()
{
var result = await IGPSDK.ClearAchievementsAsync(runtimeManager);
Debug.Log($"Clear success={result.success}, deleted={result.deletedCount}");
}
}
エンジン確認項目
Unity呼び出し後のログに successduplicatedmessage が出る。全実績クリアでは deletedCount が返る。
GameMakerイベントキューで achievement_result または achievement_clear_result を受け取る。
Godot呼び出し後に AchievementReported または AchievementsCleared signal が発火する。
  • success=false: 実績 key が存在するか確認してください。
  • duplicated=true: その実績は以前に解除済みであり、必ずしもエラーではありません。
  • 全実績クリアは、現在ログインしているユーザーの現在のゲーム内実績だけに影響します。通常はデバッグ、テスト、または明示的に許可されたリセット用途で使ってください。
  • 結果がない: IGP デスクトップクライアントが接続済みか確認し、その後ゲームコードがイベントをポーリングまたは監視しているか確認してください。
  • 段階式実績の進捗が異常: バックエンドの実績タイプと進捗報告値が一致しているか確認してください。