LiaNhà phát triển

Gói

Lớp thấp nhất. Gọi có kiểu và sự kiện qua cầu khung Lia, các thời gian chờ và giới hạn, và mockLia() để xây dựng bên ngoài Lia.

Hầu hết các ứng dụng muốn @lia-labs/sdk, mà được xây dựng trên điều này và xuất lại toàn bộ. Sử dụng cầu nối riêng để xây dựng lớp của bạn, hoặc để gọi một cái gì đó mà SDK'bao quanh.

npm install @lia-labs/bridge

#Giao thức

Trong Lia, trang của bạn chạy trong ứng dụng Lia'mà trình duyệt web. Một cuộc gọi là một thông điệp JSON mà trang gửi với window.ReactNativeWebView.postMessage:

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

Lia trả lời mỗi cuộc gọi một lần, thông qua window.__lia.receive(...), với { id, ok: true, result } hoặc { id, ok: false, error: { code, message? } }, và gửi sự kiện theo cách giống như { event, data }. Cầu nối xác định window.__lia (đã đóng băng, một lần mỗi trang) và khớp câu trả lời với các cuộc gọi bằng id.

#Gọi

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?) được gõ theo từng phương pháp: các tham số mà nó nhận và câu trả lời mà nó giải quyết đến từ Methods kiểu. Nó từ chối với một LiaError:

MãKhi nào
not_in_liaCó'không có cầu nối (không ở trong Lia, không có mô phỏng).
timeoutLia không thể't câu trả lời trong 20 giây (hoặc bạn timeout). Các cuộc gọi chờ người dùng (pay, quảng cáo, hộp thoại, máy quét, Face ID) không có giới hạn trừ khi bạn đặt một.
abortedCủa bạn signal đã bị hủy bỏ. Lia vẫn có thể hành động trên cuộc gọi.
too_largeThông điệp có hơn 16,000 ký tự, điều mà Lia sẽ bỏ qua.
Lia'mã riêng của họBất cứ điều gì Lia trả lời: xem Mã lỗi.
const controller = new AbortController();
const code = request('scanQr', { text: 'Scan a table' }, { signal: controller.signal, timeout: 60_000 });

#Lắng nghe

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();

Sự kiện được ghi loại (Events): pause, resume, theme, viewport, fullscreenChanged, languageChanged, startParam, notificationsChanged, soundChanged, charge, ad, bốn *ButtonClicked sự kiện, và sensor ({ name, values }; SDK chuyển nó thành mỗi cảm biến's reading). Một trình lắng nghe ném sẽ được ghi lại và không'dừng những cái khác.

#Tất cả những gì nó xuất ra

Xuất
isLia()Có một cây cầu hay không.
request(method, params?, options?)Một cuộc gọi có kiểu.
send(method, params?)Một cuộc gọi không chờ đợi.
on, off, once, onAnySự kiện.
mockLia(options?), MOCK_INITMột Lia giả: xem Phát triển cục bộ.
emit(message)Gửi một thông điệp đến trang như thể Lia đã gửi (dùng cho các bản mô phỏng và kiểm thử).
setDebug(on, logger?)Ghi lại mọi cuộc gọi, câu trả lời và sự kiện.
install()Bắt đầu lắng nghe ngay bây giờ; nói xem window.__lia là gói này's.
LiaError, isLiaError(error, code?)Lỗi.
PROTOCOL, DEFAULT_TIMEOUT, MAX_MESSAGE, PATIENTGiao thức'mà phiên bản và giới hạn.
resetForTests()Quên mọi cuộc gọi và người nghe.
LoạiMethods, MethodName, ParamsOf, ResultOf, Events, EventName, InitResult, ThemeParams và mọi hình dạng Lia gửi.

#Một trên mỗi trang

Hai bản sao của cầu trong một gói chia sẻ một bộ lời gọi và lắng nghe (được lưu trên một biểu tượng toàn cục), vì vậy không có gì bị hỏng. Thẻ script SDK có thể'chia sẻ: nếu nó's cũng ở'nghe Lia's ứng dụng có thể sử dụng.

Được dịch tự động. Tiếng Anh là nguồn tin cậy. Đọc bằng tiếng Anh

Nhập để tìm kiếm trên mọi trang, phương pháp và điểm cuối.