เริ่มต้นอย่างรวดเร็ว
จากศูนย์สู่คำขอแรกในเวลาประมาณห้านาที
คอมเมนต์ในโค้ดและชื่อ API ยังคงเป็นภาษาอังกฤษเพื่อให้ตรงกับ SDK
1. สร้างโปรเจกต์#
- สร้างบัญชี แล้วเข้าสู่ระบบแดชบอร์ด
- สร้างโปรเจกต์โดยเปิด เพิ่มเนื้อหาตัวอย่าง Starter ไว้ ระบบจะสร้างลีดเดอร์บอร์ด
coinsรางวัลdaily_coinsและคีย์คอนฟิกจำนวนหนึ่งที่ใช้ตลอดเอกสารนี้ - เปิดหน้า คีย์ API เพื่อดู Base URL, Project ID และคีย์ไคลเอนต์ (
pk_live_…)
2. ติดตั้ง SDK#
- ดาวน์โหลด Unity SDK จากหน้าโปรเจกต์ แล้วนำเข้าผ่าน Assets ▸ Import Package ▸ Custom Package…
- เปิด Tools ▸ Majacloud ▸ Setup วาง Base URL, Project ID และคีย์ไคลเอนต์ แล้วกด Test connection
- ไม่บังคับ: เปิด Tools ▸ Majacloud ▸ Open Starter Sample แล้วกด Play เพื่อทดลองทุกบริการ
- ดาวน์โหลด Godot SDK แล้วแตกไฟล์ลงในโปรเจกต์ให้ได้โฟลเดอร์
addons/majacloud - เปิดใช้ Majacloud ที่ Project ▸ Project Settings ▸ Plugins ซึ่งจะเพิ่ม autoload ชื่อ
Majacloud - กรอกค่าใน Project Settings ▸ Majacloud แล้วเรียก Project ▸ Tools ▸ Majacloud: Test connection
- เพิ่มแท็ก script ด้านล่างลงในหน้าเว็บ (หรือคัดลอก
majacloud.jsไว้ในโปรเจกต์) - สร้างไคลเอนต์ด้วย Base URL, Project ID และคีย์ไคลเอนต์ แล้วให้บริการหน้าเว็บผ่าน HTTPS (ระหว่างพัฒนาใช้ localhost ได้)
<script src="https://majacloud.majanite.com/downloads/majacloud-web-1.0.0.js"></script>
<script type="module">
const mc = Majacloud.createClient({ baseUrl: 'https://majacloud.majanite.com', projectId: '<project id>', clientKey: 'pk_live_…' });
</script>ใช้ HTTP client ใดก็ได้ ส่ง X-Project-ID และ X-Client-Key ไปกับทุกคำขอ และส่ง Authorization: Bearer <access_token> สำหรับการเรียกในนามผู้เล่น
3. เข้าสู่ระบบและเรียกใช้บริการ#
วางโค้ดนี้ในเกมของคุณ โค้ดจะให้ผู้เล่นเข้าสู่ระบบแบบเกสต์ ส่งคะแนน และอ่านค่าคอนฟิก
using MajacloudSdk;
using UnityEngine;
public class GameStart : MonoBehaviour
{
private async void Start()
{
// Restores the saved session or creates a guest
var signIn = await Majacloud.Auth.SignInAnonymouslyAsync();
if (!signIn.Ok)
{
Debug.LogWarning(signIn.Error.Message);
return;
}
Debug.Log("Hello " + signIn.Value.DisplayName);
await Majacloud.Leaderboards.SubmitScoreAsync("coins", 120);
int damage = Majacloud.RemoteConfig.GetInt("enemy_damage", 25);
}
}extends Node
func _ready() -> void:
# Restores the saved session or creates a guest
var signed_in := await Majacloud.auth.sign_in_anonymously()
if not signed_in.ok:
push_warning(signed_in.message)
return
print("Hello ", signed_in.value.display_name)
await Majacloud.leaderboards.submit_score("coins", 120)
var damage := Majacloud.remote_config.get_int("enemy_damage", 25)const mc = Majacloud.createClient({
baseUrl: 'https://majacloud.majanite.com',
projectId: '<project id>',
clientKey: 'pk_live_…',
});
// Restores the saved session or creates a guest
const signIn = await mc.auth.signInAnonymously();
if (!signIn.ok) throw new Error(signIn.error.message);
console.log('Hello ' + signIn.value.display_name);
await mc.leaderboards.submitScore('coins', 120);
await mc.remoteConfig.fetch();
const damage = mc.remoteConfig.getInt('enemy_damage', 25);export PROJECT_ID="<project id>" CLIENT_KEY="pk_live_…"
# Create a guest; keep access_token and refresh_token from the response
curl -X POST https://majacloud.majanite.com/v1/auth/guest -H "X-Project-ID: $PROJECT_ID" -H "X-Client-Key: $CLIENT_KEY" \
-H "Content-Type: application/json" -d '{}'
export TOKEN="<access_token>"
curl -X POST https://majacloud.majanite.com/v1/leaderboards/coins/scores -H "X-Project-ID: $PROJECT_ID" -H "X-Client-Key: $CLIENT_KEY" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" -d '{"score": 120}'4. ตรวจสอบในแดชบอร์ด#
เปิดโปรเจกต์ในแดชบอร์ด การ์ด เริ่มต้นใช้งาน จะเปลี่ยนเป็น เชื่อมต่อแล้ว และทุกคำขอจะแสดงใน ล็อก พร้อมสถานะ เวลาตอบสนอง และรหัสคำขอ
ขั้นตอนถัดไป#
- ผู้เล่นและการเข้าสู่ระบบ: ชื่อที่แสดงและการเชื่อมบัญชีเกสต์กับอีเมลหรือ Google
- ลีดเดอร์บอร์ด: การรีเซ็ต รอบ และการกันโกง
- รีโมตคอนฟิก: ค่าแบบสดพร้อมการตรวจสอบลายเซ็น
- คลาวด์เซฟ และ รางวัล