Packages
Local development
Kopya ang pahina
Gumawa ng iyong app sa isang desktop browser gamit ang mockLia(), isang inaasahang Lia na sumasagot sa bawat tawag sa isang test player. Baguhin ang kanyang mga sagot, ipadala ang mga event, at i-debug ang bawat mensahe.
Nasa labas ng Lia app doon's wala pang frame bridge, kaya ang bawat call ay nabigo sa not_in_lia. mockLia() naglalagay ng isang pangalang Lia sa kaniyang lugar: sumasagot ito sa bawat tawag sa paraan na Lia gagawin, na may isang manlalaro sa pagsusulit mode, kaya ang buong app ay tumatakbo sa isang desktop browser o sa mga pagsusulit.
#I-on ito
Tawagan ito bago ang unang tawag mo sa SDK, at lamang nasa labas ng Lia:
import { init, isLia, mockLia } from '@lia-labs/sdk';
if (!isLia()) mockLia();
const me = await init(); // { player: { name: 'tester' }, mode: 'test', ... }May isang framework package it'ang parehong import, mula sa package na iyon. Panatilihin ito sa production builds gamit ang iyong bundler'ang dev flag kung gusto mo (if (import.meta.env.DEV && !isLia())).
#Ano ang sinasagot nito
| Tawag | Ang mga sagot ng mock |
|---|---|
init | Isang test player (tester) , test mode, English, light, isang sheet, notifications available |
pay | Isang bayad na gawa ch_mock0001 at pataas |
showAd at ang kanyang mga shortcut | Isang pinanood na video (ad_mock), o isang ipinakita na interstitial |
confirm, showPopup | Oo, at ang unang button |
requestNotifications, inviteFriend | Pinahihintulutan, inanyayahan |
submitScore, leaderboard | Nagpapanatili ng iyong pinakamahusay na marka at nagrerekord ka bilang unang lugar |
| Storage | Nakaimbak sa memory para sa pahina's buhay |
biometric | Available Face ID, authenticated |
| Ang lahat ng iba | Ano ang sinasagot ng Lia kapag gumagana ito |
#Baguhin ang kanyang mga sagot
Pass init upang baguhin kung sino at paano, at onMethod upang pumili ng anumang sagot nang sarili mo. Ibaling ang isang halaga para sagot, itapon { code } upang mabigo, o tawagan next() para sa mock'naka-own sagot:
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();
},
});#Ipadala ang mga event
Ang mock ay maaaring magpadala ng anumang Lia'ang mga event, upang subukan kung paano ang iyong app ay sumagot:
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 naglista ng lahat ng mga tawag na ginawa ng iyong pahina, at mock.restore() alisin ang mock.
#Sa mga pagsusulit
Ang pareho na mock ay ginagawa ang mga pagsusulit simple (dito kasama ang Vitest at 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();
});#Tingnan ang lahat ng mensahe
setDebug(true) nag-log ng lahat ng tawag, sagot at pangyayari sa console, sa loob din ng Lia:
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' } }Ipasa ang ikalawang argumento para ipadala sila sa iyong sariling logger, na nakakatulong sa loob ng Lia kung saan doon'wala web inspector: setDebug(true, { log: send, warn: send, error: send }).
#Ang iyong server
Ang mock'ang session (lias_mock) ay wala'hindi maaabot isang Lia na nakasiguro, kaya /session/verify sabi na hindi ito'hindi valid. Bigyan ang iyong server ng isang landas sa pag-unlad, o subukan ang mga flow ng server sa loob ng Lia bilang isang tester. Tingnan Pagsusulit ng iyong app.
Awtomatikong isinalin. Ang English ay ang source of truth. Basahin sa Ingles