SDK de Unity

El SDK principal de MAJACLOUD: C# para Unity con API async/await y de corrutinas, una ventana de configuración y un ejemplo Starter.

Los comentarios del código y los nombres de la API se mantienen en inglés para que coincidan con los SDK.

En esta página

Requisitos#

  • Unity 2021.3 LTS o posterior, incluido Unity 6. Funciona con Built-in, URP y HDRP: el SDK no tiene código de renderizado.
  • Solo módulos integrados de Unity (UnityWebRequest, JSON, uGUI). El ejemplo usa TextMesh Pro.
  • Editor, Windows, macOS, Linux, Android, iOS y WebGL. No usa hilos, así que async/await es seguro en WebGL. Compatible con IL2CPP.

Instalación#

  1. Descarga el .unitypackage desde la página de tu proyecto o desde la página de descargas.
  2. En Unity: Assets ▸ Import Package ▸ Custom Package…, selecciona el archivo e importa todo.
  3. Cuando Unity te pida importar TMP Essentials para el ejemplo, acepta.

Todo está en Assets/Majacloud: Runtime (el SDK), Editor (herramientas de configuración), Samples/Starter y Tests.

Conectar tu proyecto#

Tools ▸ Majacloud ▸ Setup (también en Project Settings ▸ Majacloud) escribe Assets/Resources/MajacloudSettings.asset. El SDK se inicializa a partir de él antes de que se cargue la primera escena.

CampoValor
Base URLLa dirección de esta instalación. https://majacloud.majanite.com
Project IDPanel ▸ Claves de API.
Client KeyLa clave pública que empieza por pk_live_. Se puede incluir sin riesgo en las builds.

Test connection guarda el nombre del proyecto, el plan y la clave pública de configuración remota, que vincula la verificación de firmas a tu servidor.

Nunca pongas la clave secreta (sk_live_…) en una build del juego ni en una página web. Todo lo que se entrega a los jugadores se puede leer.

Configuración desde código#

Crea la configuración en tiempo de ejecución, por ejemplo para que las builds de desarrollo apunten a un servidor de 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 y corrutinas#

Cada método async (…Async) tiene una versión gemela con corrutina que recibe un callback, para el código que no usa 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");
}));

Ejemplo Starter#

Samples/Starter/Scenes/MajacloudStarter.unity tiene cinco pestañas: Leaderboard, Cloud save, Rewards, Config y Account. Necesita el contenido que crea Añadir contenido de ejemplo Starter.

Prefabs reutilizables en Samples/Starter/Prefabs: MajacloudLeaderboardView, MajacloudPlayerBadge y MajacloudDailyRewardButton. Colócalos en tu UI y define el slug o la clave de recompensa en el Inspector.

WebGL y móviles#

  • Sirve las builds de WebGL por HTTPS: los navegadores bloquean las solicitudes http:// desde páginas https://. La API ya envía las cabeceras CORS que necesita WebGL.
  • Los navegadores solo abren pestañas nuevas a partir de un clic. Para vincular cuentas en WebGL, inicia primero el flujo y ábrelo dentro del manejador de un botón (consulta Jugadores).
  • Para probar en un teléfono contra un servidor en tu equipo también necesitas HTTPS (o, solo para desarrollo, ALLOW_INSECURE_HTTP en el servidor y las descargas HTTP permitidas en Player Settings).
Elemento del menúQué hace
Tools ▸ Majacloud ▸ SetupClaves, prueba de conexión y ajustes de comportamiento.
Tools ▸ Majacloud ▸ Open Starter SampleAbre la escena Starter.
Tools ▸ Majacloud ▸ Rebuild Starter SampleRegenera la escena Starter y los prefabs.
Tools ▸ Majacloud ▸ Export .unitypackageExporta el SDK como .unitypackage.

Busca en títulos, encabezados y texto de las páginas.

↑↓ para navegar ↵ para abrir Esc para cerrar