Ide dan fitur game

Fitur berikutnya

Nilai pemain

Mata uang, penghitung, dan energi yang dikelola server. Tetapkan saldo, penawaran, dan perubahan terverifikasi per proyek.

SDK: developMemerlukan sesi pemain
Unity
Ilustrasi Nilai pemain
Hasil yang terlihat

Game menampilkan saldo dan penawaran yang dikonfigurasi. Pembelian mengembalikan status pemain saat ini.

Video akan tersedia

Langkah ini belum memiliki video. Panduan dan permintaan MCP sudah dapat digunakan.

Nilai pemain

Siapkan proyek yang sama

  1. Pilih proyek yang sama di dasbor dan konfigurasi game.

    Nilai pemain →
  2. Buat atau gunakan kembali entri uji ini pada formulir dasbor. Nilai ini adalah contoh, bukan data proyek saat ini.

    Nilai
    coins: initialBalance=100, maxBalance=1000000; energy: initialBalance=10, maxBalance=100
    Izinkan perubahan langsung
    false
    Penawaran
    energy-pack: costs=[{"key":"coins","amount":20}], rewards=[{"key":"energy","amount":5}]

    Saldo awal diberikan sekali per kunci nilai. Perubahan langsung nonaktif secara bawaan. Validated Actions tetap memakai batas per permainan; batas harian dan saldo berasal dari definisi ini. Batas opsional yang kosong berarti tanpa batas.

  3. Simpan, muat ulang, dan periksa entri sebelum menjalankan contoh. Pertahankan definisi lain.

Tambahkan fitur ini

Kamu dapat membaca panduan. Untuk menjalankannya, diperlukan kunci proyek aktif. Siapkan proyek

SDK terpasang, konfigurasi proyek diimpor, dan pemain sudah masuk.

Contoh SDK ini menggunakan develop. Periksa apakah API yang diperlukan tersedia di SDK yang terpasang.

Selesaikan koneksi mulai cepat dengan pemain yang dipilih. Panggil RunReviewedAction() dari tombol atau tindakan adegan yang eksplisit. Membuka berkas saja tidak mengirim permintaan.

C#
Assets/Scripts/PlayerValuesDemo.cs
Panggilan 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}
Buka contoh SDK lengkap ↗

Uji fitur barumu.

Game menampilkan saldo dan penawaran yang dikonfigurasi. Pembelian mengembalikan status pemain saat ini.

Pilih proyek yang sama di dasbor dan konfigurasi game.

Titik akhir
  • GET/player-values
  • GET/player-values/offers
  • POST/player-values/purchase
  • POST/player-values/adjust
Semua titik akhir di referensi API
Saran kami untuk langkah berikutnya

Berikan skor tertinggi untuk setiap ronde.

Simpan skor setelah ronde dan tampilkan siapa yang unggul. Tetap gunakan koneksi dan sesi pemainmu.