Inicio rápido
De cero a tu primera solicitud en unos cinco minutos.
Los comentarios del código y los nombres de la API se mantienen en inglés para que coincidan con los SDK.
1. Crear un proyecto#
- Crea una cuenta e inicia sesión en el panel.
- Crea un proyecto y deja activado Añadir contenido de ejemplo Starter. Así se crean la tabla de clasificación
coins, la recompensadaily_coinsy algunas claves de configuración que se usan en toda esta documentación. - Abre Claves de API para ver la URL base, el ID de proyecto y la clave de cliente (
pk_live_…).
2. Instalar el SDK#
- Descarga el SDK de Unity desde la página del proyecto e impórtalo con Assets ▸ Import Package ▸ Custom Package…
- Abre Tools ▸ Majacloud ▸ Setup, pega la URL base, el ID de proyecto y la clave de cliente, y pulsa Test connection.
- Opcional: abre Tools ▸ Majacloud ▸ Open Starter Sample y pulsa Play para probar todos los servicios.
- Descarga el SDK de Godot y descomprímelo en tu proyecto para que tengas
addons/majacloud. - Activa Majacloud en Project ▸ Project Settings ▸ Plugins. Esto añade el autoload
Majacloud. - Rellena Project Settings ▸ Majacloud y ejecuta Project ▸ Tools ▸ Majacloud: Test connection.
- Añade a tu página la etiqueta script de abajo (o copia
majacloud.jsen tu proyecto). - Crea un cliente con la URL base, el ID de proyecto y la clave de cliente. Sirve la página por HTTPS (durante el desarrollo, localhost es suficiente).
<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>Sirve cualquier cliente HTTP. Envía X-Project-ID y X-Client-Key en cada solicitud, y Authorization: Bearer <access_token> en las llamadas de jugador.
3. Iniciar sesión y llamar a un servicio#
Pega esto en tu juego. Inicia la sesión del jugador como invitado, envía una puntuación y lee un valor de configuración.
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. Revisar el panel#
Abre tu proyecto en el panel: la tarjeta Primeros pasos cambia a Conectado y cada solicitud aparece en Registros con su estado, su latencia y su ID de solicitud.
Siguientes pasos#
- Jugadores e inicio de sesión: nombres visibles y vinculación de invitados a correo o Google.
- Tablas de clasificación: reinicios, períodos y antitrampas.
- Configuración remota: valores en vivo con verificación de firma.
- Guardado en la nube y recompensas.