LiaDesarrolladores

Paquetes

Construya su aplicación en un navegador de escritorio con mockLia(), un Lia falso que responde a cada llamada con un jugador de prueba. Cambie sus respuestas, envíe eventos y depure cada mensaje.

Fuera de la aplicación Lia hay'no hay puente de marco, por lo que cada llamada falla con not_in_lia. mockLia() pone un Lia falso en su lugar: responde a cada llamada de la manera en que Lia lo haría, con un jugador de prueba en modo de prueba, por lo que toda su aplicación se ejecuta en un navegador de escritorio o en pruebas.

#Ándale

Llámelo antes de su primera llamada SDK, y solo fuera de Lia:

import { init, isLia, mockLia } from '@lia-labs/sdk';

if (!isLia()) mockLia();

const me = await init(); // { player: { name: 'tester' }, mode: 'test', ... }

Con un paquete de framework'la misma importación, de ese paquete. Manténlo fuera de las construcciones de producción con tu empaquetador'la bandera de desarrollador si te gusta (if (import.meta.env.DEV && !isLia())).

#¿Qué responde

LlamarLas respuestas de la prueba
initUn jugador de prueba (tester), modo de prueba, inglés, claro, una hoja, notificaciones disponibles
payUn cargo pagado, ch_mock0001 y hacia arriba
showAd y sus accesos directosUn video visto (ad_mock), o un anuncio intersticial mostrado
confirm, showPopupSí, y el primer botón
requestNotifications, inviteFriendPermitido, invitado
submitScore, leaderboardMantiene su mejor puntaje y lo clasifica primero
AlmacenamientoGuardado en memoria para la página'tu vida
biometricFace ID disponible, autenticado
Todo lo demás¿Qué responde Lia cuando funciona

#Cambie sus respuestas

Pasar init para cambiar quién y cómo, y onMethod para decidir cualquier respuesta tú mismo. Devuelve un valor para responder, lanza { code } para fallar, o llama next() para la prueba'propia respuesta:

mockLia({
  init: { language: 'ar', rtl: true, theme: 'dark', startParam: 'room-k3x9' },
  latency: 300, // ms before each answer, to see your loading states
  onMethod: (call, next) => {
    if (call.method === 'pay' && call.params.productId === 'gold-pack') throw { code: 'cancelled' };
    if (call.method === 'showAd') return { watched: false, shown: false, reason: 'no_ad' };
    return next();
  },
});

#Enviar eventos

La prueba puede enviar cualquiera de Lia'los eventos, para probar cómo reacciona tu aplicación:

const mock = mockLia();
mock.event('theme', { colorScheme: 'dark', theme: { bg_color: '#09090B', text_color: '#F5F5F7' } });
mock.event('soundChanged', { on: false });
mock.event('startParam', { startParam: 'room-a81c' });
mock.event('mainButtonClicked');
mock.event('pause');

mock.calls lista cada llamada que realizó su página, y mock.restore() elimina el mock.

#En pruebas

La misma simulación hace que las pruebas sean simples (aquí con Vitest y jsdom):

import { afterEach, expect, it } from 'vitest';
import { init, mainButton, mockLia, resetForTests, resetStateForTests } from '@lia-labs/sdk';

afterEach(() => {
  resetForTests();
  resetStateForTests();
});

it('shows Buy once the player is in', async () => {
  const mock = mockLia();
  await init();
  mainButton.setParams({ text: 'Buy', isVisible: true });
  await Promise.resolve();
  expect(mock.calls.at(-1)).toMatchObject({ method: 'bottomButton', params: { text: 'Buy', visible: true } });
  mock.restore();
});

#Ver todos los mensajes

setDebug(true) registra cada llamada, respuesta y evento en la consola, dentro de Lia también:

import { setDebug } from '@lia-labs/sdk';
setDebug(true);
// [lia] call pay { productId: 'extra-lives' }
// [lia] event pause undefined
// [lia] answer pay { id: 7, ok: true, result: { chargeId: 'ch_…', productId: 'extra-lives' } }

Pasa un segundo argumento para enviarlos a tu propio registrador, lo que ayuda dentro de Lia donde hay'no hay inspector web: setDebug(true, { log: send, warn: send, error: send }).

#Tu servidor

La prueba's sesión (lias_mock) no'no tiene un Lia firmado, por lo que /session/verify dice que no es'no válido. Proporcione un camino de desarrollo a su servidor, o pruebe flujos de servidor dentro de Lia como probador. Vea Probando tu aplicación.

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.