LiaDesarrolladores

Guías

Un líder de tabla y progreso guardado sin un servidor propio. Envía puntajes, muestra los 50, mejores y mantén el progreso en almacenamiento en la nube para que siga a los jugadores a cualquier teléfono.

#Un líder de tabla

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}`;
}

Escapa los nombres antes de colocarlos en HTML, como con cualquier texto de personas.

Cada aplicación tiene un único tablero de clasificación, con cada jugador's mejor. Los puntajes son números enteros y cuanto más alto, mejor; para un tiempo o "mínimo de movimientos", envíe algo como 1000000 - milliseconds.

#Progreso guardado

El almacenamiento en la nube mantiene hasta 1024 claves por jugador en tu aplicación en Lia's servidor, y los sigue a cualquier teléfono.

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 */ });

Los valores son hasta 4096 caracteres, así que mantén cosas grandes (un editor de niveles'tus mapas, por ejemplo) en tu propio servidor o divídelos entre claves y léelos de vuelta con getItems.

#¿Qué va donde

Manténgalo enCuándo
Lia.cloudStorageProgreso, configuraciones y cualquier cosa que el jugador espere en un nuevo teléfono
Lia.deviceStorageCachés, borradores y cualquier cosa que pueda perder (hasta 5 MB)
Lia.secureStorageUn token para su propio servidor (hasta 10 elementos)
Tu propio servidorCualquier cosa que'vale dinero o decide premios, monedas compradas con $LIA, y lo que ven otros jugadores

El almacenamiento en la nube es el jugador'para cambiar desde tu página, por lo que cómputo como cualquier cosa de la página: útil para su propio progreso, no para balances. Prueba y comparte en vivo.

Traducido automáticamente. El inglés es la fuente de verdad. Leer en inglés

Escribe para buscar en cada página, método y punto final.