包
@lia-labs/sdk
复制页面
的 Lia SDK 用于有构建步骤的应用。每个功能作为一个类型化、可树摇的导出,具有与脚本标签相同的检查和错误代码,以及你可以监视的状态。
npm install @lia-labs/sdk#开始
import { init, isLia, mockLia, ready } from '@lia-labs/sdk';
if (!isLia()) mockLia(); // building in a desktop browser
const me = await init();
render(me);
ready();init(options?) 调用Lia一次,并以与Lia相同的结果进行响应。 Lia.init(); 再次调用它会返回第一个结果。它还:
- 保持
--lia-*CSS 变量 你页面上的当前值(用{ cssVars: false },或者调用bindCssVars()你自己), - 设置您的页面's
lang和dir从那个人'的语言(通过{ documentLanguage: false }), - 保持 SDK's 状态 来自Lia的当前值'的事件。
#从脚本标签到导入
脚本标签上的所有内容's Lia 对象是此处的命名导出,具有相同的参数、答案和错误代码。只导入您需要的内容;其余内容将不会包含在您的包中。
| 脚本标签 | @lia-labs/sdk |
|---|---|
Lia.init(), Lia.ready(), Lia.session(), Lia.close() | init(), ready(), session(), close() |
Lia.pay(id, opts), Lia.charges(), Lia.onCharge(fn) | pay(id, opts), charges(), onCharge(fn) |
Lia.showAd(opts) 以及它的快捷方式, Lia.onAd(fn) | showAd(opts), showRewardedAd(), showRewardedInterstitialAd(), showInterstitialAd(), onAd(fn) |
Lia.showBanner(opts), Lia.hideBanner(), Lia.banner, Lia.onBanner(fn), Lia.showNativeAd(opts), Lia.hideNativeAd(), Lia.nativeAd, Lia.onNativeAd(fn) | showBanner(opts), hideBanner(), banner, onBanner(fn), showNativeAd(opts), hideNativeAd(), nativeAd, onNativeAd(fn); 也 holdBanner(position),这会在它返回的函数被调用前显示 |
Lia.requestNotifications() | requestNotifications() |
Lia.inviteFriend(opts), Lia.inviteLink(p), Lia.share(text) | inviteFriend(opts), inviteLink(p), share(text) |
Lia.confirm, Lia.showPopup, Lia.showAlert, Lia.showConfirm, Lia.toast | 相同的名称 |
Lia.expand(), Lia.requestFullscreen(), Lia.exitFullscreen() | 相同的名称 |
Lia.enableExpand() … Lia.disableClosingConfirmation() | 相同的名称 |
Lia.setBackgroundColor(c), Lia.setHeaderColor(c) | 相同的名称 |
Lia.mainButton, Lia.secondaryButton, Lia.backButton, Lia.settingsButton | mainButton, secondaryButton, backButton, settingsButton |
Lia.haptic, Lia.scanQr, Lia.copyText, Lia.readClipboard, Lia.openLink, Lia.openLiaLink | 相同的名称 |
Lia.submitScore, Lia.leaderboard | 相同的名称 |
Lia.cloudStorage, Lia.deviceStorage, Lia.secureStorage, Lia.biometric | 相同的名称 |
Lia.accelerometer, Lia.gyroscope, Lia.deviceOrientation | 相同的名称,带有 reading 和 isStarted 观看 |
Lia.on(event, fn), Lia.off, Lia.onPause, Lia.onResume | on(event, fn), off, once, onAny, onPause, onResume |
Lia.language, Lia.theme, Lia.viewport 和其它属性 | language.get(), themeParams.get(), viewport.get() 和其余部分 |
每种方法's 参数、答案和错误都在 SDK 参考.
#观看状态
import { colorScheme, language, viewport } from '@lia-labs/sdk';
language.get(); // "en"
const stop = colorScheme.subscribe((scheme, previous) => repaint(scheme));
viewport.subscribe(({ height }) => resizeCanvas(height));一个监听器只听到变化(从不订阅时)并且 subscribe 返回其自己的停止函数。你可以用 signal(initial) 和 computed(sources, fn).
#按钮
按钮的功能与 script 标签相同,并且会显示其状态:
import { mainButton } from '@lia-labs/sdk';
mainButton.setParams({ text: 'Buy for 5 LIA', isVisible: true });
const stop = mainButton.onClick(buy);
mainButton.state.subscribe((s) => console.log(s.isProgressVisible));setParams 需要camelCase名称: text, color, textColor, isVisible, isActive, isProgressVisible, hasShineEffect, position. onClick 返回一个停止监听的函数。 backButton.isVisible 和 settingsButton.isVisible 也可以被监视。
要在您页面的一部分在屏幕上时显示按钮, controlBottomButton(button, options) 和 controlHeaderButton(button, onClick) 给你 update(…) 和 dispose() (dispose 隐藏它)。框架包使用这些。
#错误
每次失败都是一次 LiaError 与一个 code,与相同代码的 脚本标签. isLiaError(error, 'cancelled') 检查一个。
import { isLiaError, pay } from '@lia-labs/sdk';
try {
await pay('extra-lives', { idempotencyKey: orderId });
} catch (error) {
if (isLiaError(error, 'cancelled')) return;
throw error;
}参数在任何内容到达Lia之前进行检查,这些检查会拒绝承诺(或抛出异常,对于少数不这样调用的函数)'返回一个)。
#没有打包器
该包还有一个脚本构建,将所有内容放在 window.liaSdk:
<script src="https://unpkg.com/@lia-labs/sdk/dist/index.global.js"></script>
<script>
liaSdk.init().then(function (me) { liaSdk.ready(); });
</script>在页面上使用此标签或原始脚本标签,不要同时使用两者。
#TypeScript
所有内容都有类型,包括每种方法'的参数和答案,以及每个事件'的数据(Methods, Events, InitResult, ThemeParams, Charge, AdResult 和其余部分)。
自动翻译。英语是真实来源。 阅读英文