SDK Unity

SDK utama MAJACLOUD: C# untuk Unity dengan API async/await dan coroutine, jendela setup, dan sampel Starter.

Komentar kode dan nama API tetap dalam bahasa Inggris agar sesuai dengan SDK.

Di halaman ini

Persyaratan#

  • Unity 2021.3 LTS atau lebih baru, termasuk Unity 6. Built-in, URP, dan HDRP semuanya didukung: SDK tidak berisi kode rendering.
  • Hanya modul bawaan Unity (UnityWebRequest, JSON, uGUI). TextMesh Pro dipakai oleh sampel.
  • Editor, Windows, macOS, Linux, Android, iOS, dan WebGL. Tidak memakai thread, jadi async/await aman di WebGL. Aman untuk IL2CPP.

Instalasi#

  1. Unduh .unitypackage dari halaman project Anda atau halaman unduhan.
  2. Di Unity: Assets ▸ Import Package ▸ Custom Package…, pilih file tersebut lalu import semuanya.
  3. Saat Unity meminta import TMP Essentials untuk sampel, setujui.

Semuanya ada di Assets/Majacloud: Runtime (SDK), Editor (tool setup), Samples/Starter, dan Tests.

Hubungkan project Anda#

Tools ▸ Majacloud ▸ Setup (juga ada di Project Settings ▸ Majacloud) menulis Assets/Resources/MajacloudSettings.asset. SDK menginisialisasi dirinya dari file ini sebelum scene pertama dimuat.

FieldNilai
Base URLAlamat instalasi ini. https://majacloud.majanite.com
Project IDDashboard ▸ API key.
Client KeyKey publik yang diawali pk_live_. Aman disertakan di build.

Test connection menyimpan nama project, paket, dan public key Remote Config, yang mengunci verifikasi tanda tangan ke server Anda.

Jangan pernah memasukkan secret key (sk_live_…) ke build game atau halaman web. Apa pun yang dikirim ke pemain bisa dibaca.

Konfigurasi dari kode#

Buat pengaturan saat runtime, misalnya untuk mengarahkan build development ke server staging:

C#
// Switch environments from code (e.g. a staging server in development builds)
var settings = ScriptableObject.CreateInstance<MajacloudSettings>();
settings.Configure("https://staging.yourstudio.com", "<project id>", "pk_live_…");
Majacloud.Initialize(settings);

Async dan coroutine#

Setiap method async (…Async) punya versi coroutine yang menerima callback, untuk kode yang tidak memakai async/await.

C#
// Every async method has a coroutine version with a callback
StartCoroutine(Majacloud.Leaderboards.GetTop("coins", 10, result =>
{
    if (result.Ok) Debug.Log(result.Value.Total + " players");
}));

Sampel Starter#

Samples/Starter/Scenes/MajacloudStarter.unity punya lima tab: Leaderboard, Cloud save, Rewards, Config, dan Account. Scene ini membutuhkan konten yang dibuat oleh Tambahkan konten sampel Starter.

Prefab siap pakai di Samples/Starter/Prefabs: MajacloudLeaderboardView, MajacloudPlayerBadge, dan MajacloudDailyRewardButton. Letakkan di UI Anda lalu atur slug atau key reward di Inspector.

WebGL dan mobile#

  • Sajikan build WebGL lewat HTTPS: browser memblokir request http:// dari halaman https://. API sudah mengirim header CORS yang dibutuhkan WebGL.
  • Browser hanya membuka tab baru dari klik. Untuk menautkan akun di WebGL, mulai alurnya terlebih dahulu lalu buka di dalam handler tombol (lihat Pemain).
  • Menguji di ponsel dengan server di komputer Anda juga butuh HTTPS (atau, khusus pengembangan, ALLOW_INSECURE_HTTP di server dan unduhan lewat HTTP diizinkan di Player Settings).
Item menuFungsinya
Tools ▸ Majacloud ▸ SetupKey, uji koneksi, dan pengaturan perilaku.
Tools ▸ Majacloud ▸ Open Starter SampleMembuka scene Starter.
Tools ▸ Majacloud ▸ Rebuild Starter SampleMembuat ulang scene dan prefab Starter.
Tools ▸ Majacloud ▸ Export .unitypackageMengekspor SDK sebagai .unitypackage.

Cari judul halaman, subjudul, dan teks.

↑↓ untuk berpindah ↵ untuk membuka Esc untuk menutup