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.
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#
- Descarga el
.unitypackagedesde la página de tu proyecto o desde la página de descargas. - En Unity: Assets ▸ Import Package ▸ Custom Package…, selecciona el archivo e importa todo.
- 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.
| Campo | Valor |
|---|---|
| Base URL | La dirección de esta instalación. https://majacloud.majanite.com |
| Project ID | Panel ▸ Claves de API. |
| Client Key | La 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.
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:
// 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.
// 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áginashttps://. 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_HTTPen el servidor y las descargas HTTP permitidas en Player Settings).
Menú del editor#
| Elemento del menú | Qué hace |
|---|---|
Tools ▸ Majacloud ▸ Setup | Claves, prueba de conexión y ajustes de comportamiento. |
Tools ▸ Majacloud ▸ Open Starter Sample | Abre la escena Starter. |
Tools ▸ Majacloud ▸ Rebuild Starter Sample | Regenera la escena Starter y los prefabs. |
Tools ▸ Majacloud ▸ Export .unitypackage | Exporta el SDK como .unitypackage. |