Início rápido
Do zero à primeira requisição em cerca de cinco minutos.
Comentários de código e nomes da API ficam em inglês para corresponder aos SDKs.
1. Crie um projeto#
- Crie uma conta e entre no painel.
- Crie um projeto e deixe Adicionar conteúdo de exemplo Starter ativado. Isso cria o placar
coins, a recompensadaily_coinse algumas chaves de configuração usadas ao longo desta documentação. - Abra Chaves de API para encontrar a URL base, o ID do projeto e a chave de cliente (
pk_live_…).
2. Instale o SDK#
- Baixe o SDK do Unity na página do projeto e importe-o com Assets ▸ Import Package ▸ Custom Package…
- Abra Tools ▸ Majacloud ▸ Setup, cole a URL base, o ID do projeto e a chave de cliente e clique em Test connection.
- Opcional: abra Tools ▸ Majacloud ▸ Open Starter Sample e aperte Play para experimentar todos os serviços.
- Baixe o SDK do Godot e descompacte-o no seu projeto, de forma que exista a pasta
addons/majacloud. - Ative Majacloud em Project ▸ Project Settings ▸ Plugins. Isso adiciona o autoload
Majacloud. - Preencha Project Settings ▸ Majacloud e execute Project ▸ Tools ▸ Majacloud: Test connection.
- Adicione a tag script abaixo à sua página (ou copie
majacloud.jspara o seu projeto). - Crie um cliente com a URL base, o ID do projeto e a chave de cliente. Sirva a página via HTTPS (localhost funciona durante o desenvolvimento).
<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>Qualquer cliente HTTP serve. Envie X-Project-ID e X-Client-Key em toda requisição, e Authorization: Bearer <access_token> nas chamadas de jogador.
3. Faça login e chame um serviço#
Cole isto no seu jogo. O código faz o login do jogador como convidado, envia uma pontuação e lê um valor de configuração.
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. Confira o painel#
Abra seu projeto no painel: o card Primeiros passos muda para Conectado, e cada requisição aparece em Logs com status, latência e ID da requisição.
Próximos passos#
- Jogadores e login: nomes de exibição e vinculação de convidados a e-mail ou Google.
- Placares: reinícios, períodos e anti-cheat.
- Configuração remota: valores ao vivo com verificação de assinatura.
- Salvamento na nuvem e recompensas.