Ide dan fitur game

Fitur berikutnya

Pencapaian

Setiap kunci terbuka sekali per pemain. Aturan manual memercayai game; ambang statistik dievaluasi dalam transaksi laporan terkait yang sama.

SDK: developMemerlukan sesi pemain
Unity
Ilustrasi Pencapaian
Hasil yang terlihat

Setelah tindakan, first_steps terbuka untuk pemain yang sama. Mengulang kuncinya tidak memberi pencapaian atau hadiah kedua.

Video akan tersedia

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

Pencapaian

Siapkan proyek yang sama

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

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

    Kunci
    first_steps
    Nama
    First steps
    Aturan membuka
    manual
    Aktif
    true
    Tersembunyi hingga terbuka
    false
    Tanpa hadiah
    []

    Setiap kunci terbuka sekali per pemain. Aturan manual memercayai game; ambang statistik dievaluasi dalam transaksi laporan terkait yang sama.

  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/AchievementsDemo.cs
Panggilan horizOn
1using System.Linq;
2using UnityEngine;
3using PM.horizOn.Cloud.Core;
4using PM.horizOn.Cloud.Manager;
5​
6// Existing SDK/project configuration and authenticated player session required.
7// Call RunReviewedAction explicitly after reviewing this example and its data.
8// Hadiah langsung diberikan saat pencapaian dibuka. Jika pemberian gagal,
9// seluruh tindakan dibatalkan.
10// This explicit action unlocks the shown configured achievement key.
11public sealed class AchievementsDemo : MonoBehaviour
12{
13 public async void RunReviewedAction()
14 {
15 var sessionUser = UserManager.Instance.CurrentUser;
16 if (sessionUser == null || !sessionUser.IsValid()) return;
17 var userId = UserManager.Instance.CurrentUser.UserId;
18 var manager = AchievementsManager.Instance;
19 var loaded = await manager.GetAchievements(userId);
20 if (!loaded.IsSuccess) { Debug.LogWarning(loaded.ErrorCode); return; }
21 foreach (var progress in loaded.Data.progress)
22 Debug.Log(progress.key + ": " + progress.rewardState);
23​
24 // Configure a manual first_steps definition, then call this on the matching game action.
25 var unlocked = await manager.Unlock(userId, "first_steps");
26 if (!unlocked.IsSuccess) { Debug.LogWarning(unlocked.ErrorCode); return; }
27 // Repeat the same key after timeout; never create a replacement reward identity.
28 // rewardState is complete, unlockedAt is null, and deliveryResults is empty.
29 // Values were credited atomically. Read PlayerValues again when showing the balance.
30 // No Inbox claim or local value addition. Refresh achievements after statistics updates.
31 }
32}
Buka contoh SDK lengkap ↗

Uji fitur barumu.

Setelah tindakan, first_steps terbuka untuk pemain yang sama. Mengulang kuncinya tidak memberi pencapaian atau hadiah kedua.

Pilih proyek yang sama di dasbor dan konfigurasi game.

Titik akhir
  • GET/achievements
  • POST/achievements/unlock
  • POST/achievements/rewards/deliver
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.