コンテンツにスキップ

ゲーム認可

ゲーム認可は、現在のプレイヤーが IGP 上でそのゲームを正しく所有しているか確認します。プレイヤーが主要なゲームプレイに入った後で失敗結果を処理することを避けるため、起動フローのできるだけ早い段階で導入することを推奨します。

エンジン状態説明
UnityPreviewIGPRuntimeManager を通じてデスクトップクライアント認可フローを自動的に導入します。
GameMakerPreviewWindows runtime とローカルデスクトップクライアントを通じて認可を完了します。
Godot独立した入口は未公開現在の Godot 側は起動チケット、ルーム、実績が中心で、独立したゲーム認可 API はまだ提供していません。
  • 起動と接続 が完了している。
  • IGP から割り当てられた appId が設定されている。
  • ローカル IGP デスクトップクライアントが利用できる。
  • 正式なゲーム検証を行う場合、バックエンド認可設定が現在の appId と一致している。

Unity プロジェクトでは通常 appId を設定するだけで、runtime が認可フローを処理します。ビジネス側は主に状態変化を監視します。

using UnityEngine;
using IGP.UnitySDK;
public sealed class IGPAuthorizationView : MonoBehaviour
{
[SerializeField] private IGPRuntimeManager runtimeManager;
private void OnEnable()
{
runtimeManager.onAuthorizationStateChanged.AddListener(OnAuthorizationChanged);
runtimeManager.onAuthorizationFailed.AddListener(OnAuthorizationFailed);
}
private void OnDisable()
{
runtimeManager.onAuthorizationStateChanged.RemoveListener(OnAuthorizationChanged);
runtimeManager.onAuthorizationFailed.RemoveListener(OnAuthorizationFailed);
}
private void OnAuthorizationChanged(IGPAuthorizationState state)
{
Debug.Log($"IGP authorization: {state}");
if (runtimeManager.IsAuthorized)
{
// メインメニューに入る、またはゲームを続行する。
}
}
private void OnAuthorizationFailed(string message)
{
Debug.LogError($"IGP authorization failed: {message}");
}
}

最小検証を行う場合は、まず Unity Quick Start を実行してください。

エンジン確認項目
UnityAuthorizedOnline または AuthorizedOffline を監視でき、失敗時には失敗理由を確認できる。
GameMakerigp_get_authorization_state()pending から authorized_onlineauthorized_offline、または failed に移る。
Godot現時点では独立したゲーム認可の検証は行いません。
  • 認可が pending のままになる: デスクトップクライアント接続が成功しているか確認してください。
  • 接続は正常だが認可に失敗する: appId とバックエンド設定が一致しているか確認してください。
  • Unity Editor でデスクトップ機能の検証に失敗する: Unity デバッグ に従って Editor デバッグ項目を設定してください。
  • GameMaker でイベントがない: 毎フレーム igp_update() を呼び、igp_poll_event() を継続的にポーリングしているか確認してください。