uloggdDesenvolvedores
Portal do desenvolvedoruloggd
ComeçarRecursosArcade
Portal do desenvolvedoruloggdArcadeHospedagemO frameSDKIdentidadeVerificação em outras linguagensEventos de dadosTestesPolítica de revisãoDeveres de privacidadeEngines

Testes

Desenvolva offline no simulador, e depois jogue o seu jogo dentro do uloggd, da sua máquina ou de um lançamento, antes de alguém revisá-lo.

No simulador, offline

O npm run dev de um projeto Vite serve o jogo em localhost, onde createArcadeSDK({ appId, mockWhenStandalone: true }) entrega o simulador: sem uloggd, sem rede, todo comando respondido. Abra uma segunda aba com ?mock_player=2 no endereço para ser um segundo jogador. A referência do SDK mostra como conduzir o simulador nos seus próprios testes.

O seu servidor só aceita os tokens do simulador com allowMock: true. Deixe isso na configuração de desenvolvimento: um verificador em produção precisa recusá-los.

Nos verificadores para outras linguagens, allowMock e allowTestMode (veja Modo de teste) correspondem a allow_mock e allow_test_mode em Python, que está verificado e publicado em Verificação em outras linguagens. Os verificadores em Go e C#, escritos mas ainda não verificados, os chamam de WithMockTokens() e WithoutTestMode() em Go, e AllowMock e AllowTestMode em C#.

Para jogar dentro do uloggd enquanto o jogo ainda roda na sua máquina, use a URL de desenvolvimento.

Modo de teste, dentro do uloggd

Testar, num lançamento do portal, abre-o no player de verdade, numa página que só você abre: /developers/applications/{id}/arcade/test/{releaseId}.

  • Qualquer lançamento do seu aplicativo pode ser testado, em rascunho, enviado, em revisão ou aprovado, desde que a última verificação de URL dele tenha passado nas últimas 24 horas. Aperte Verificar URL de novo quando ela for mais antiga.
  • Exige uma sessão que entrou com a verificação em duas etapas. Partidas de teste contam para os 60 jogos que uma conta pode abrir por hora, e as regras de idade valem como para qualquer jogador.
  • Partidas de teste nunca contam como partidas do seu jogo.

O modo de teste é marcado em todo lugar, para nunca se passar pelo de verdade:

  • uma barra listrada acima do jogo: "Modo de teste: versão não revisada, só você vê isto. Não digite senhas.";
  • a URL de abertura leva mode=test, e os tokens de identidade "mode": "test";
  • o diálogo de consentimento acrescenta "Versão não revisada.".

O SDK, o consentimento e os tokens de identidade funcionam no modo de teste. verifyIdentityToken aceita tokens de teste a não ser que você passe allowTestMode: false: passe em todo servidor onde uma versão não revisada não pode deixar ninguém entrar. Os eventos de dados chegam ao seu servidor depois que um lançamento é aprovado (veja Antes da aprovação).

URL de desenvolvimento: localhost e túneis

A URL de desenvolvimento abre o jogo no player de verdade do uloggd enquanto ele roda na sua máquina ou atrás de um túnel, antes de qualquer publicação, sem arquivo de prova e sem verificação de URL. No portal, abra o aplicativo e, na seção Arcade, vá em URL de desenvolvimento: digite o endereço em URL do jogo, escolha um Lançamento base, Salvar e depois Abrir no uloggd.

  • O que ela aceita. http ou https na sua própria máquina, em qualquer porta: localhost, um nome sob .localhost (como game.localhost) ou 127.0.0.1. Ou https num host público, em qualquer porta, como um túnel. Sem usuário, consulta nem fragmento, e o caminho segue as regras dos lançamentos.
  • O que ela recusa, com url_denied:
    • [::1] e qualquer outro endereço IPv6: a política da página do player não consegue nomear uma origem IPv6. Escreva localhost ou 127.0.0.1.
    • Qualquer outro endereço IP, e um host público que resolve para um endereço privado quando você salva: o uloggd abre num frame a sua própria máquina, nunca outro aparelho da sua rede. Para chegar a um servidor de desenvolvimento a partir de um celular ou de outro computador, use um túnel.
    • http num host público: HTTP sem criptografia só para a sua própria máquina.
    • Os hosts do próprio uloggd e as imitações deles, como nos lançamentos, e o nome de host em que o site do uloggd é servido. Cookies não são separados por porta, então um jogo nesse nome de host os dividiria com o uloggd; no uloggd.com, isso é o próprio uloggd.com, não o seu localhost.
    • Hosts da lista de bloqueio dos lançamentos, menos os túneis temporários, como *.trycloudflare.com e *.ngrok-free.app, que a URL de desenvolvimento aceita.
  • O lançamento base. Um lançamento em rascunho, enviado, em revisão ou aprovado do mesmo aplicativo. O que o jogo pode fazer e pedir vem dele: capacidades, escopos, orientação e plataformas. A URL de desenvolvimento troca só o endereço.
  • A página da loja. Ela precisa estar salva antes de o jogo abrir, porque o player mostra o nome do jogo e o responsável a partir dela. Um rascunho basta.
  • 24 horas. Salvar de novo, com a mesma URL ou outra, começa outras 24 horas. Um aplicativo tem 20 salvamentos por dia; só conta um salvamento que fica, então uma URL recusada e Remover não contam. Remover, levar para outra origem ou deixar a URL expirar fecha em até 30 segundos um jogo aberto nela. Outro caminho ou outro lançamento de base na mesma origem não fecha: o jogo já aberto mantém o endereço e o lançamento de base com que abriu até você abri-lo de novo.
  • Só você. Ela só abre para o dono do aplicativo, numa sessão que entrou com a verificação em duas etapas, em /developers/applications/{id}/arcade/override/play. Ninguém mais, nem revisores e moderadores, consegue abri-la ou ler a URL. Uma origem que é de um jogo de outra conta é recusada com origin_in_use. As partidas contam para os 60 jogos que uma conta pode abrir por hora, as regras de idade valem, e elas nunca contam como partidas do seu jogo.

Ela é marcada como modo de teste, como um lançamento testado:

  • a barra listrada diz "Modo de teste: URL de desenvolvimento, só você vê isto. Não digite senhas." e mostra o host com a porta;
  • a URL de abertura leva mode=test, e os tokens de identidade "mode": "test";
  • o diálogo de consentimento acrescenta "Versão não revisada.".

Os tokens de identidade da URL de desenvolvimento são tokens comuns do modo de teste: o mesmo iss e o mesmo aud, e nenhuma informação própria. Um servidor que aceita tokens de teste aceita estes também, então passe allowTestMode: false em todo servidor de produção. Os eventos de dados nunca vão para a URL de desenvolvimento: vão para a URL de eventos de dados de um lançamento (veja Entrega).

Na sua própria máquina. O Chrome e o Edge podem perguntar se o uloggd.com pode acessar apps e serviços neste dispositivo (o pedido de Acesso à rede local deles). Permita, e o jogo carrega da sua máquina; se preferir não permitir, use um túnel. Para desfazer a permissão, abra as configurações do site uloggd.com pelo ícone à esquerda da barra de endereço, e redefina ou bloqueie ali. Só a página da URL de desenvolvimento pode usar essa permissão, e só para a origem local que você salvou (veja Permissões). O endereço local é feito para navegadores baseados no Chromium, como o Chrome e o Edge; outros navegadores podem não abrir um endereço local dentro da página HTTPS do uloggd. Um túnel funciona em todos.

Túneis

Um túnel dá ao seu servidor de desenvolvimento um endereço HTTPS público. Qualquer um destes serve:

  • cloudflared: cloudflared tunnel --url http://localhost:5173 mostra um endereço sob trycloudflare.com. Túneis rápidos como este são aceitos na URL de desenvolvimento, mesmo que um lançamento os recuse.
  • Tailscale Funnel: tailscale funnel 5173 serve o servidor de desenvolvimento no nome ts.net da sua máquina. O Funnel só publica as portas 443, 8443 e 10000, e a URL de desenvolvimento aceita qualquer uma.
  • ngrok: ngrok http 5173. O plano gratuito dele pode mostrar uma página de aviso antes do seu site, e dentro do frame essa página impede o jogo de carregar.

Depois:

  • O Vite só responde aos hosts que conhece. Acrescente o do túnel em server.allowedHosts no vite.config.js, como allowedHosts: [".trycloudflare.com"] (um ponto no começo aceita todos os subdomínios).
  • O servidor de desenvolvimento precisa deixar o uloggd abri-lo num frame: envie Content-Security-Policy: frame-ancestors https://uloggd.com 'self', como faz o vite.config.js do modelo, e nenhum X-Frame-Options.
  • O jogo mantém o hostOrigin no padrão, https://uloggd.com.

Se o jogo não abrir

  • "Nenhuma URL de desenvolvimento ativa" ou "A URL de desenvolvimento expirou": salve de novo no portal, e abra por lá.
  • "A URL de desenvolvimento não pode ser aberta agora": a tela e o portal dizem o motivo, como um lançamento base que foi recusado ou retirado, ou nenhuma página da loja salva.
  • "O site do desenvolvedor não respondeu como o uloggd espera": o servidor de desenvolvimento não está rodando, ou não permite https://uloggd.com em frame-ancestors. Em localhost, o navegador também pode ter recusado o endereço local, ou a permissão de Acesso à rede local está bloqueada: permita nas configurações do site, ou use um túnel.
  • "Blocked request" do Vite: falta o host do túnel em server.allowedHosts.
  • "O jogo foi reiniciado" a cada edição: recarregar a página inteira é uma navegação do frame, e isso encerra a partida (veja Um documento). Uma atualização que o Vite aplica no lugar mantém o jogo rodando; depois de um recarregamento, jogue de novo pela tela do player.

Antes de enviar

  • Verificar URL passa: o arquivo de prova, nenhum redirecionamento, o frame permitido.
  • O jogo rodou dentro do uloggd pela URL de desenvolvimento com este lançamento como base, então as capacidades e os escopos que ele declara são os que o jogo precisa.
  • A página cria o SDK antes de tudo, e mostra a própria tela de carregamento.
  • ready() resolve no modo de teste, com context.mode igual a test.
  • Nada navega o frame: nenhum link, nenhum recarregamento, nenhuma segunda página.
  • A tela cheia passa por requestFullscreen, a partir de um clique.
  • authorize vem depois de um clique do jogador, e um cancelamento deixa o jogo jogável.
  • O seu servidor verifica um token de teste e recusa um repetido.
  • Depois da aprovação, troque o seu apelido no jogo em Configurações > Arcade e confira que chega ao seu servidor um nickname_changed verificado.
  • Todo terceiro que o jogo carrega está declarado no lançamento.
  • Num celular, o layout acompanha LAYOUT_UPDATE e a área segura.

Eventos de dados

Quando um jogador revoga, esquece o seu jogo, troca o apelido ou exclui a conta, o uloggd avisa o seu servidor, e você repete o que ele fez.

Política de revisão

O que quem revisa confere antes de um lançamento ou de uma página da loja chegar aos jogadores, os motivos de uma recusa e o que encerra uma conta.

Nesta página

No simulador, offlineModo de teste, dentro do uloggdURL de desenvolvimento: localhost e túneisTúneisSe o jogo não abrirAntes de enviar