LiaMga developer

Packages

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

TawagAng mga sagot ng mock
initIsang test player (tester) , test mode, English, light, isang sheet, notifications available
payIsang bayad na gawa ch_mock0001 at pataas
showAd at ang kanyang mga shortcutIsang pinanood na video (ad_mock), o isang ipinakita na interstitial
confirm, showPopupOo, at ang unang button
requestNotifications, inviteFriendPinahihintulutan, inanyayahan
submitScore, leaderboardNagpapanatili ng iyong pinakamahusay na marka at nagrerekord ka bilang unang lugar
StorageNakaimbak sa memory para sa pahina's buhay
biometricAvailable Face ID, authenticated
Ang lahat ng ibaAno 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

Pindutin para maghanap sa lahat ng pahina, paraan at endpoint.