LiaMga developer

Packages

Ang pinakamababang antas. Ang mga tinukoy na pagtawag at mga pangyayari sa pamamagitan ng Lia's frame bridge, ang mga timeout at limitasyon, at mockLia() para magawa ang nasa labas ng Lia.

Ang mga app ay nangangailangan ng @lia-labs/sdk, na itinatag sa ito at re-export ang lahat nito. Gamitin ang bridge nang sarili para lumikha ng iyong sariling layer, o para tumawag ng isang bagay na SDK ay hindi'hindi mag-wrap.

npm install @lia-labs/bridge

#Ang protocol

Sa loob ng Lia, ang iyong pahina ay gumagana sa Lia app'ang web view. Ang isang tawag ay isang JSON mensahe na ipost ng pahina na may window.ReactNativeWebView.postMessage:

{ "lia": 1, "id": 7, "method": "haptic", "params": { "kind": "success" } }

Lia ay sumagot sa bawat tawag, sa pamamagitan ng window.__lia.receive(...), kasama { id, ok: true, result } o { id, ok: false, error: { code, message? } }, at nagpapadala ng mga event sa parehong paraan bilang { event, data }. Ang bridge ay naglalarawan ng window.__lia (frozen, isang beses bawat pahina) at sumusunod sa mga sagot sa mga tawag ay id.

#Pangtawag

import { isLia, request, send } from '@lia-labs/bridge';

isLia(); // true inside the Lia app (or with mockLia)

const me = await request('init');
const { best } = await request('submitScore', { score: 1280 });
send('ready'); // without waiting for the answer; failures are dropped

request(method, params?, options?) ay tinataya bawat method: ang params na kanyang tinatanggap at ang sagot na kanyang nagreresolba ay galing sa Methods uri. Ito ay tinanggihan na may LiaError:

CodeKailan
not_in_liaDito's wala pang bridge (hindi nasa loob ng Lia, wala pang mock).
timeoutLia ay di kaya't sagot sa loob ng 20 segundo (o ang iyong timeout. Ang mga pagtawag na naghihintay sa tao (pay, ads, dialogs, ang scanner, Face ID) walang limitasyon maliban kung ikaw ay nagtakda nito.
abortedAng iyong signal ay pinigil. Lia ay maaaring magpatuloy sa paggawa ng tawag.
too_largeAng mensahe ay higit sa 16,000 mga karakter, na Lia ay ihiwalay.
Lia'naka-own codesAno man ang sinagot ng Lia: tingnan Mga code ng error.
const controller = new AbortController();
const code = request('scanQr', { text: 'Scan a table' }, { signal: controller.signal, timeout: 60_000 });

#Listening

import { on, once, onAny, off } from '@lia-labs/bridge';

const stop = on('theme', ({ colorScheme, theme }) => repaint(colorScheme, theme));
once('resume', () => refresh());
onAny((event, data) => console.log(event, data));
stop();

Ang mga event ay may tipo (Events): pause, resume, theme, viewport, fullscreenChanged, languageChanged, startParam, notificationsChanged, soundChanged, charge, ad, ang apat *ButtonClicked events, at sensor ({ name, values }; ang SDK ay nagbabago ito sa bawat sensor's reading. Ang isang listener na nag-throw ay naitala at hindi ito'hindi maaabot i-stop ang iba.

#Ang lahat ng kanyang ina-export

I-export
isLia()Kung may bridge ba ito.
request(method, params?, options?)Isang tinukoy na tawag.
send(method, params?)Isang tawag nang walang paghihintay.
on, off, once, onAnyMga event.
mockLia(options?), MOCK_INITIsang pangarap na Lia: tingnan Local development.
emit(message)Nagbibigay ng mensahe sa pahina tulad ng Lia ang nagpadala nito (para sa mga mock at pagsusulit).
setDebug(on, logger?)Nag-log ng bawat katanungan, sagot at event.
install()Nagsisimula ng pagbasa; sinasabi kung ano window.__lia ay ang package na ito's.
LiaError, isLiaError(error, code?)Mga error.
PROTOCOL, DEFAULT_TIMEOUT, MAX_MESSAGE, PATIENTAng protocol'ang bersyon at mga limitasyon.
resetForTests()Nakalimot sa bawat tawag at tagapakinig.
UriMethods, MethodName, ParamsOf, ResultOf, Events, EventName, InitResult, ThemeParams at bawat hugis Lia ipapadala.

#Isa bawat pahina

Dalawang kopya ng bridge sa isang bundle ay ibinahagi ang isang set ng mga tawag at mga tagasubaybay (napanatili sa isang global na simbolo), kaya walang nangyayari. Ang script tag SDK ay maaaring'hindi maaabot ibahagi: kung ito's nasa pahina na, ang bridge ay babala at maaari'hindi marinig Lia's sagot. Gamitin ang isa o ang iba.

Awtomatikong isinalin. Ang English ay ang source of truth. Basahin sa Ingles

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