ゲームのアイデアと機能

次に追加する機能

プレイヤー数値

サーバーが管理する通貨、カウンター、エネルギー。プロジェクトごとに残高、オファー、検証付き変更を定義します。

SDK:developプレイヤーセッションが必要
Unity
プレイヤー数値のイラスト
確認できる結果

ゲームに設定済みの残高とオファーが表示されます。購入すると現在のプレイヤー状態が返されます。

動画は後日公開

この手順の動画はまだありません。ガイドとMCPへの依頼は利用できます。

プレイヤー数値

同じプロジェクトを準備する

  1. ゲームの設定と同じプロジェクトをダッシュボードで選択してください。

    プレイヤー数値 →
  2. ダッシュボードのフォームで次のテスト項目を作成するか、既存の項目を使います。表示値は例であり、現在のプロジェクトのデータではありません。

    数値
    coins: initialBalance=100, maxBalance=1000000; energy: initialBalance=10, maxBalance=100
    直接変更を許可
    false
    オファー
    energy-pack: costs=[{"key":"coins","amount":20}], rewards=[{"key":"energy","amount":5}]

    初期残高はキーごとに1度だけ付与されます。直接変更は初期状態で無効です。Validated Actions のプレイごとの制限は維持され、1日と残高の上限はこの定義に従います。任意の上限を空欄にすると無制限になります。

  3. 実行前に保存、再読み込み、確認を行います。他の定義は保持してください。

この機能を実装する

ガイドは閲覧できます。実行には有効なプロジェクトキーが必要です。 プロジェクトを準備する

SDK をインストールし、プロジェクト設定をインポート済みで、プレイヤーがログインしていること。

この SDK サンプルは develop を使用します。必要な API がインストール済みの SDK にあるか確認してください。

クイックスタートで対象プレイヤーを接続します。ボタンやシーンの明示的な操作からRunReviewedAction()を呼び出してください。ファイルを開くだけではリクエストは送信されません。

C#
Assets/Scripts/PlayerValuesDemo.cs
horizOn 呼び出し
1using UnityEngine;
2using PM.horizOn.Cloud.Core;
3using PM.horizOn.Cloud.Manager;
4​
5// Existing SDK/project configuration and authenticated player session required.
6// Call RunReviewedAction explicitly after reviewing this example and its data.
7public sealed class PlayerValuesDemo : MonoBehaviour
8{
9 public async void RunReviewedAction()
10 {
11 var sessionUser = UserManager.Instance.CurrentUser;
12 if (sessionUser == null || !sessionUser.IsValid()) return;
13 var userId = UserManager.Instance.CurrentUser.UserId;
14 var current = await PlayerValuesManager.Instance.GetState(userId);
15 if (!current.IsSuccess) { Debug.LogWarning(current.ErrorCode); return; }
16 foreach (var value in current.State.values) Debug.Log(value.key + "=" + value.balance);
17 // This minimal first call reads authoritative balances, never a local reward delta.
18 // For purchases and original retry, import PlayerValuesExample and its
19 // PendingPlayerValuesPurchase helper from the official SDK samples.
20 // Persist the complete original user/offer/operationId before one send.
21 // An uncertain or expired original must never become a fresh purchase ID.
22 }
23}
完全なSDKサンプルを開く ↗

新しい機能をテストしましょう。

ゲームに設定済みの残高とオファーが表示されます。購入すると現在のプレイヤー状態が返されます。

ゲームの設定と同じプロジェクトをダッシュボードで選択してください。

エンドポイント
  • GET/player-values
  • GET/player-values/offers
  • POST/player-values/purchase
  • POST/player-values/adjust
API リファレンスのすべてのエンドポイント
次のステップへのおすすめ

毎ラウンドにハイスコアを。

ラウンド終了後にスコアを保存し、上位のプレイヤーを表示します。現在の接続とプレイヤーセッションを引き続き使用します。