Preskoči na sadržaj

Serverski SDK

Serverski SDK je namenjen igrama koje imaju sopstveni backend — validacija rezultata, anti-cheat, analitika, automatska obaveštenja.

Ako vaša igra nema backend, treba vam samo klijentski SDK.

Instalacija

Terminal window
npm install @kruzic/game-sdk

Inicijalizacija

API ključ generišete u kontrolnoj tabli pod SDK → Pregled.

import { KruzicServer } from '@kruzic/game-sdk/server';
const server = new KruzicServer({
apiKey: process.env.KRUZIC_API_KEY,
gameId: 'moja-igra',
});

Čitanje podataka

const score = await server.getUserData(userId, 'highscore');
// 1500 ili null
const keys = await server.listUserData(userId);
// ['highscore', 'settings', 'inventory']

Pisanje podataka

await server.setUserData(userId, 'highscore', 1500);
await server.setUserData(userId, 'settings', { sound: true });
await server.deleteUserData(userId, 'old_key');

Primeri

Anti-cheat validacija

Umesto da klijent direktno piše rezultat, pošaljite ga na vaš server i tamo proverite pre čuvanja:

app.post('/submit-score', async (req, res) => {
const { userId, score, proof } = req.body;
if (!isValidScore(score, proof)) {
return res.status(400).json({ error: 'Nevažeći rezultat' });
}
await kruzic.setUserData(userId, 'highscore', score);
res.json({ success: true });
});

Dnevno obaveštenje

await fetch('https://www.kruzic.rs/api/v1/sdk/notifications', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${process.env.KRUZIC_API_KEY}`,
},
body: JSON.stringify({
title: 'Novi dan, nova reč!',
body: 'Možete li pogoditi današnju reč?',
}),
});

Direktan API pristup

Ako ne koristite Node.js, možete pozivati API direktno. Detalji su u SDK endpointima.

Terminal window
curl "https://www.kruzic.rs/api/v1/sdk/data?userId=abc123&key=highscore" \
-H "Authorization: Bearer kruzic_vaš_api_ključ"