Paquetes
Desarrollo local
Copiar página
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
| Llamar | Las respuestas de la prueba |
|---|---|
init | Un jugador de prueba (tester), modo de prueba, inglés, claro, una hoja, notificaciones disponibles |
pay | Un cargo pagado, ch_mock0001 y hacia arriba |
showAd y sus accesos directos | Un video visto (ad_mock), o un anuncio intersticial mostrado |
confirm, showPopup | Sí, y el primer botón |
requestNotifications, inviteFriend | Permitido, invitado |
submitScore, leaderboard | Mantiene su mejor puntaje y lo clasifica primero |
| Almacenamiento | Guardado en memoria para la página'tu vida |
biometric | Face 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