Liaالمطورون

الحزم

الطبقة الأدنى. استدعاءات مُنضبطة وأحداث عبر جسر إطارات Lia، والفترات الزمنية والحدود، وmockLia() لبناء خارج Lia.

معظم التطبيقات تريد @lia-labs/sdk, الذي تم بناؤه على هذا ويعيد تصدير كل شيء. استخدم الجسر بمفرده لبناء طبقة خاصة بك، أو لاستدعاء شيء لا يمكن لـ SDK'لإغلاق.

npm install @lia-labs/bridge

#البروتوكول

داخل Lia، تُشغل صفحتك التطبيق Lia'متصفح الويب. المكالمة هي رسالة JSON التي ترسلها الصفحة مع window.ReactNativeWebView.postMessage:

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

Lia يجيب على كل مكالمة مرة واحدة، من خلال window.__lia.receive(...), مع { id, ok: true, result } أو { id, ok: false, error: { code, message? } }, ويُرسل الأحداث بنفس الطريقة كما يفعل { event, data }. الجسر يحدد window.__lia (مجمد، مرة واحدة لكل صفحة) ويتوافق الإجابات مع المكالمات من خلال المعرف.

#المكالمة

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?) يتم تحديده لكل طريقة: المعلمات التي تأخذها والإجابة التي تحللها تأتي من Methods نوع. يرفض بـ LiaError:

الكودمتى
not_in_liaهناك'لا يوجد جسر (ليس داخل Lia، لا نموذج).
timeoutLia لم تتمكن'ت الإجابة خلال 20 ثوانٍ (أو تجربتك الخاصة timeout). المكالمات التي تنتظر الشخص (pay, الإعلانات، النوافذ المنبثقة، الماسح، الوجه ID) لا حدود لها إلا إذا قمت بتعيين واحدة.
abortedلك signal تم إلغاؤه. قد لا يزال Lia يتفاعل مع المكالمة.
too_largeالرسالة تتجاوز 16,000 حرفًا، وهو ما سيتجاهله Lia.
Lia'مملكتها الرموزما أجاب به Lia: انظر أكواد الأخطاء.
const controller = new AbortController();
const code = request('scanQr', { text: 'Scan a table' }, { signal: controller.signal, timeout: 60_000 });

#الاستماع

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

الأحداث مُصنفة (Events): pause, resume, theme, viewport, fullscreenChanged, languageChanged, startParam, notificationsChanged, soundChanged, charge, ad, الأربعة *ButtonClicked الإجراءات، و sensor ({ name, values }; عندما يتحول SDK إلى كل مستشعر's reading). مستمع يطرح استثناء يتم تسجيله ولا يُعالج'لإيقاف الآخرين.

#كل ما يصدره

تصدير
isLia()هل هناك جسر موجود.
request(method, params?, options?)استدعاء مُحدد.
send(method, params?)مكالمة دون انتظار.
on, off, once, onAnyالأحداث.
mockLia(options?), MOCK_INITنموذج Lia: انظر التطوير المحلي.
emit(message)يُمرر رسالة إلى الصفحة وكأن Lia أرسلها (للمحاكاة والاختبارات).
setDebug(on, logger?)يُسجل كل مكالمة، إجابة وأحداث.
install()يبدأ الاستماع الآن؛ يقول ما إذا window.__lia هو هذا الحزمة's.
LiaError, isLiaError(error, code?)الأخطاء.
PROTOCOL, DEFAULT_TIMEOUT, MAX_MESSAGE, PATIENTالبروتوكول'الإصدار والحدود.
resetForTests()يتجاهل كل استدعاء ومستمع.
الأنواعMethods, MethodName, ParamsOf, ResultOf, Events, EventName, InitResult, ThemeParams وكل شكل Lia يرسل.

#واحد لكل صفحة

نسخة مزدوجة من الجسر في حزمة واحدة تشترك في مجموعة واحدة من المكالمات والمستمعين (تُحتفظ بها في رمز عالمي)، لذلك لا شيء يتعطل. يمكن لعلامة السكربت SDK أن'لمشاركة: إذا كان'س موجودة بالفعل على الصفحة، يحذرك الجسر ويمكنه'أن تسمع Lia'س الإجابات. استخدم واحدة أو الأخرى.

تم الترجمة تلقائيًا. الإنجليزية هي مصدر الحقيقة. اقرأ باللغة الإنجليزية

اكتب للبحث في كل صفحة، وطريقة ونقطة نهاية.