LiaDesenvolvedores

Guias

Um ranking e progresso salvo sem um servidor seu. Envie pontuações, mostre os melhores 50, e mantenha o progresso no armazenamento em nuvem para que ele siga os jogadores para qualquer telefone.

#Um ranking

board.js
async function gameOver(score) {
  const { best } = await Lia.submitScore(score);
  if (score === best) Lia.haptic("success");
  showBoard(await Lia.leaderboard());
}

function showBoard({ top, me }) {
  list.innerHTML = top
    .map((row) => `<li class="${row.me ? "me" : ""}"><b>${row.rank}</b> @${escapeHtml(row.name)} <span>${row.score}</span></li>`)
    .join("");
  if (me && me.rank > top.length) footer.textContent = `You: #${me.rank} with ${me.score}`;
}

Escape nomes antes de colocá-los em HTML, como com qualquer texto de pessoas.

Cada aplicativo tem uma classificação, com cada jogador's melhor. Pontuações são números inteiros e quanto maior, melhor; para um tempo ou "menor número de movimentos", envie algo como 1000000 - milliseconds.

#Progresso salvo

Armazenamento na nuvem mantém até 1024 chaves por jogador no seu aplicativo em Lia'servidor, e segue-os para qualquer telefone.

save.js
const SAVE = "save";

async function load() {
  const text = await Lia.cloudStorage.getItem(SAVE);
  return text ? JSON.parse(text) : { level: 1, coins: 0 };
}

let saving = null;
function save(state) {
  // Coalesce saves: at most one write every 2 seconds.
  clearTimeout(saving);
  saving = setTimeout(function () {
    Lia.cloudStorage.setItem(SAVE, JSON.stringify(state)).catch(function () {
      Lia.deviceStorage.setItem(SAVE, JSON.stringify(state)); // keep it on the phone meanwhile
    });
  }, 2000);
}

Lia.onPause(function () { /* save now: they may not come back */ });

Valores são até 4096 caracteres, então mantenha coisas grandes (um editor de nível's mapas, por exemplo) no seu próprio servidor ou divida-os entre chaves e leia-os de volta com getItems.

#O que vai onde

Mantenha-o emQuando
Lia.cloudStorageProgresso, configurações e qualquer coisa que o jogador espera em um novo telefone
Lia.deviceStorageCaches, rascunhos e qualquer coisa que você possa perder (até 5 MB)
Lia.secureStorageUm token para o seu próprio servidor (até 10 itens)
Seu próprio servidorQualquer coisa que'é o que vale dinheiro ou decide prêmios, moedas compradas com $LIA, e o que outros jogadores veem

Armazenamento na nuvem é o jogador'para mudar da sua página, então trate como qualquer coisa da página: bom para seu próprio progresso, não para saldos. Teste e compartilhe em produção.

Traduzido automaticamente. O inglês é a fonte de verdade. Leia em inglês

Digite para pesquisar todas as páginas, métodos e endpoints.