SDK do Unity

O SDK principal do MAJACLOUD: C# para Unity com APIs async/await e de corrotinas, uma janela de configuração e um exemplo Starter.

Comentários de código e nomes da API ficam em inglês para corresponder aos SDKs.

Nesta página

Requisitos#

  • Unity 2021.3 LTS ou mais recente, incluindo o Unity 6. Built-in, URP e HDRP funcionam: o SDK não tem código de renderização.
  • Apenas módulos nativos do Unity (UnityWebRequest, JSON, uGUI). O exemplo usa TextMesh Pro.
  • Editor, Windows, macOS, Linux, Android, iOS e WebGL. Nenhuma thread é usada, então async/await é seguro no WebGL. Compatível com IL2CPP.

Instalação#

  1. Baixe o .unitypackage na página do seu projeto ou na página de downloads.
  2. No Unity: Assets ▸ Import Package ▸ Custom Package…, selecione o arquivo e importe tudo.
  3. Quando o Unity pedir para importar o TMP Essentials para o exemplo, aceite.

Tudo fica em Assets/Majacloud: Runtime (o SDK), Editor (ferramentas de configuração), Samples/Starter e Tests.

Conecte seu projeto#

Tools ▸ Majacloud ▸ Setup (também em Project Settings ▸ Majacloud) grava Assets/Resources/MajacloudSettings.asset. O SDK se inicializa a partir dele antes de a primeira cena carregar.

CampoValor
Base URLO endereço desta instalação. https://majacloud.majanite.com
Project IDPainel ▸ Chaves de API.
Client KeyA chave pública que começa com pk_live_. Pode ir nas builds com segurança.

Test connection salva o nome do projeto, o plano e a chave pública da configuração remota, que fixa a verificação de assinatura no seu servidor.

Nunca coloque a chave secreta (sk_live_…) em uma build do jogo ou em uma página web. Tudo o que é entregue aos jogadores pode ser lido.

Configuração por código#

Crie as configurações em tempo de execução, por exemplo para apontar builds de desenvolvimento para um 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 e corrotinas#

Todo método async (…Async) tem uma versão em corrotina que recebe um callback, para código que não 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");
}));

Exemplo Starter#

Samples/Starter/Scenes/MajacloudStarter.unity tem cinco abas: Leaderboard, Cloud save, Rewards, Config e Account. Ela espera o conteúdo criado por Adicionar conteúdo de exemplo Starter.

Prefabs reutilizáveis em Samples/Starter/Prefabs: MajacloudLeaderboardView, MajacloudPlayerBadge e MajacloudDailyRewardButton. Arraste-os para a sua UI e defina o slug ou a chave da recompensa no Inspector.

WebGL e mobile#

  • Sirva builds WebGL via HTTPS: os navegadores bloqueiam requisições http:// feitas a partir de páginas https://. A API já envia os cabeçalhos CORS de que o WebGL precisa.
  • Os navegadores só abrem novas abas a partir de um clique. Para vincular contas no WebGL, inicie o fluxo antes e abra-o dentro do handler de um botão (veja Jogadores).
  • Testar em um celular contra um servidor no seu computador também exige HTTPS (ou, apenas para desenvolvimento, ALLOW_INSECURE_HTTP no servidor e downloads HTTP permitidos em Player Settings).
Item de menuO que faz
Tools ▸ Majacloud ▸ SetupChaves, teste de conexão e configurações de comportamento.
Tools ▸ Majacloud ▸ Open Starter SampleAbre a cena Starter.
Tools ▸ Majacloud ▸ Rebuild Starter SampleGera novamente a cena Starter e os prefabs.
Tools ▸ Majacloud ▸ Export .unitypackageExporta o SDK como .unitypackage.

Busca em títulos de páginas, seções e texto.

↑↓ para navegar ↵ para abrir Esc para fechar