SDK Godot

Addon GDScript untuk Godot 4.2+ dengan layanan yang sama seperti SDK Unity.

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

Di halaman ini

Persyaratan#

  • Godot 4.2 atau lebih baru, GDScript. Ekspor desktop, mobile, dan Web.
  • Tanpa dependensi: hanya HTTPRequest, Crypto, dan FileAccess bawaan Godot.

Instalasi#

  1. Unduh .zip SDK Godot dari halaman project Anda atau halaman unduhan.
  2. Ekstrak ke project Anda sehingga foldernya menjadi res://addons/majacloud (jangan ubah namanya).
  3. Project ▸ Project Settings ▸ Plugins: aktifkan Majacloud. Plugin ini menambahkan autoload Majacloud.

Pengaturan project#

Plugin menambahkan entri berikut di Project Settings ▸ General ▸ Majacloud:

PengaturanDefaultArti
connection/base_urlAlamat instalasi ini.
connection/project_idDashboard ▸ API key.
connection/client_keyKey publik pk_live_….
connection/config_public_keyDiisi oleh Test connection; mengunci verifikasi Remote Config.
advanced/timeout_seconds15Jumlah detik sebelum request gagal dengan timeout.
advanced/max_retries2Jumlah percobaan ulang untuk request yang aman saat terjadi error jaringan dan server.
advanced/fetch_config_on_starttrueMengambil remote config saat game dimulai.
advanced/log_requestsfalseMencetak setiap request ke output.

Test connection#

Project ▸ Tools ▸ Majacloud: Test connection memanggil API dengan pengaturan Anda, menampilkan nama project dan paket, lalu menyimpan public key Remote Config di majacloud/connection/config_public_key.

Konfigurasi dari kode#

Panggil configure() untuk berpindah environment dari kode. Pengaturan ini menggantikan settings untuk sisa sesi:

GDScript
# Switch environments from code; the last argument pins the Remote Config key (PEM)
Majacloud.configure("https://staging.yourstudio.com", "<project id>", "pk_live_…", public_key_pem)

MajacloudResult#

Setiap panggilan di-await dan mengembalikan MajacloudResult. Tidak pernah crash karena error jaringan atau server.

FieldArti
oktrue jika panggilan berhasil.
valueRespons REST sebagai Dictionary (lihat referensi REST); bilangan bulat diterima sebagai int.
errorKosong jika berhasil; jika gagal, berisi kode tetap seperti conflict atau network (lihat error).
messagePenjelasan yang mudah dibaca.
statusStatus HTTP, 0 jika server tidak terjangkau.
request_idCari ID ini di halaman Log.
detailsData tambahan dari server, mis. next_claim_at.
is_retryable() dan is_not_found().

Signal#

Hubungkan ke signal berikut untuk memperbarui UI Anda:

GDScript
func _ready() -> void:
	Majacloud.auth.player_changed.connect(_on_player_changed)
	Majacloud.auth.session_expired.connect(func(): show_sign_in_screen())
	Majacloud.remote_config.updated.connect(func(): apply_balance())

func _on_player_changed(player: Dictionary) -> void:
	$NameLabel.text = player.get("display_name", "")

Penyimpanan di perangkat#

Sesi tamu disimpan terenkripsi di user://majacloud/<project id>.session dan dipulihkan saat game dibuka lagi. Remote config yang sudah diverifikasi di-cache di sebelahnya untuk bermain offline, dan user://majacloud/device.id berisi ID instalasi acak (bukan berbasis hardware).

Ekspor Web#

  • Sajikan hasil ekspor lewat HTTPS; API mengirim header CORS yang dibutuhkan browser.
  • user:// disimpan di penyimpanan browser, sehingga sesi tetap ada setelah halaman dimuat ulang.
  • Panggil link_account() dari input event (misalnya saat tombol ditekan) agar browser mengizinkan tab baru.

Cari judul halaman, subjudul, dan teks.

↑↓ untuk berpindah ↵ untuk membuka Esc untuk menutup