SDK 参考
SDK 概览
复制页面
加载 Lia SDK,Lia 对象的属性,调用如何响应和失败,以及每个方法的索引。
#加载它
<script src="https://api.lialabs.org/sdk/lia-apps-v1.js"></script>在您自己的脚本之前从 Lia 加载它。它定义了一个全局, window.Lia,一次(加载两次没有效果)。它'的纯JavaScript,没有任何依赖项,并且与任何框架或无框架一起使用。本页面描述的是版本1.9.0.
在TypeScript中,声明全局直到有's 一个类型包:
declare global {
interface Window { Lia: any }
}
const Lia = window.Lia;#调用如何回答
- 大多数方法返回一个 Promise。 它会以每种方法描述的答案进行解析,或以以下内容拒绝
Error有一个code(以及一个message为您翻译成英文,而不是为玩家。 - 错误的参数也会被拒绝,带有类似
bad_text,在任何东西到达 Lia 之前。一些方法'返回承诺(Lia.inviteLink,Lia.on,按钮' (设置器)会抛出异常。 - 在Lia应用之外,每次调用都拒绝
not_in_lia.Lia.available会提前告诉你。 - Lia必须在20秒内做出回应,或者调用被拒绝时
timeout。那些等待用户(付款表、广告、对话框、好友选择器、通知请求、扫描器、剪贴板、FaceID、分享)的调用会一直等待直到完成。
try {
const result = await Lia.pay("extra-lives");
} catch (error) {
switch (error.code) {
case "cancelled": return; // they changed their mind
case "not_in_lia": return showOpenInLia();
default: Lia.toast("Something went wrong", { tone: "error" });
}
}每个代码都列在 错误代码.
#属性
阅读这些之后 Lia.init() 已经回答;在此之前他们使用默认值。大多数由Lia保持最新'的事件。
| 属性 | 类型 | 它是什么 |
|---|---|---|
Lia.version | 字符串 | 的 SDK'的版本,例如 "1.9.0". |
Lia.available | 布尔值 | true 在Lia应用内。脚本加载后立即知道。 |
Lia.platform | 字符串 | "ios" 或 "android" ("unknown" 之前 init()). |
Lia.language | 字符串 | 这个人'的语言在Lia: en, es, pt, fr, tr, ru, vi, id, fil, sw, hi, ar 或 zh。参见 语言. |
Lia.rtl | 布尔值 | 该语言是否从右到左显示(阿拉伯语)。 |
Lia.colorScheme | 字符串 | "light" 或 "dark". |
Lia.theme | 对象 | Lia'的颜色,如 bg_color, text_color 和其余部分。参见 Lia'的主题. |
Lia.viewport | 对象 | { height, expanded }: 您的页面'的高度(以像素为单位)以及面板是否达到最大高度。 |
Lia.safeArea | 对象 | { top, bottom, left, right }: 手机'的安全区域(像素)。 |
Lia.contentSafeArea | 对象 | { top, bottom, left, right }: 也清除 Lia'的浮动控件在全屏中。 |
Lia.display | 字符串 | 你的应用是如何打开的: "sheet", "full" 或 "fullscreen". |
Lia.isFullscreen | 布尔值 | 它是否'边缘到边缘现在。 |
Lia.startParam | 字符串或空值 | 它最初打开时的内容:一个邀请',一个链接'或通知'的startParam。 null 当从应用中心打开时。 |
Lia.soundOn | 布尔值 | 这个人是否想要你的应用'的声音。 |
Lia.notificationsAllowed | 布尔值 | 此人是否允许你的应用向其发送通知。 |
#Lia.isVersionAtLeast(version)
是否SDK至少是此版本,以便使用后续添加的功能。
if (Lia.isVersionAtLeast("1.3")) Lia.inviteFriend({ startParam: room });| 参数 | 类型 | |
|---|---|---|
version | 字符串 | 点赞 "1.3" 或 "1.3.0". |
返回一个布尔值(不是承诺)。
#CSS 变量
之后 init(),SDK 在您的页面上设置这些'的根目录并保持其最新:Lia'的主题(--lia-bg-color 和其余部分), --lia-color-scheme, --lia-viewport-height, --lia-safe-area-inset-* 和 --lia-content-safe-area-inset-*。参见 外观和感觉.
#每种方法
| 区域 | 方法 |
|---|---|
| 启动和生命周期 | Lia.init, Lia.ready, Lia.session, Lia.close, Lia.on, Lia.off, Lia.onPause, Lia.onResume |
| 支付和广告 | Lia.pay, Lia.charges, Lia.onCharge, Lia.showAd, Lia.showRewardedAd, Lia.showRewardedInterstitialAd, Lia.showInterstitialAd, Lia.onAd |
| 通知和邀请 | Lia.requestNotifications, Lia.inviteFriend, Lia.inviteLink, Lia.share |
| 对话框 | Lia.confirm, Lia.showPopup, Lia.showAlert, Lia.showConfirm, Lia.toast |
| 布局、颜色和按钮 | Lia.expand, Lia.requestFullscreen, Lia.exitFullscreen, Lia.enableExpand, Lia.disableExpand, Lia.enableVerticalSwipes, Lia.disableVerticalSwipes, Lia.enableClosingConfirmation, Lia.disableClosingConfirmation, Lia.setBackgroundColor, Lia.setHeaderColor, Lia.mainButton, Lia.secondaryButton, Lia.backButton, Lia.settingsButton |
| 设备 | Lia.haptic, Lia.scanQr, Lia.copyText, Lia.readClipboard, Lia.openLink, Lia.openLiaLink, Lia.biometric, Lia.accelerometer, Lia.gyroscope, Lia.deviceOrientation |
| 分数与存储 | Lia.submitScore, Lia.leaderboard, Lia.cloudStorage, Lia.deviceStorage, Lia.secureStorage |
#来自Telegram
Lia's SDK 跟随 Telegram's 小程序适合的地方,所以大多数想法都可以迁移:
| 电报 | Lia |
|---|---|
Telegram.WebApp.initData | Lia.init() 用一个会话令牌,你的服务器会用它进行验证 POST /session/verify. |
themeParams, --tg-theme-* | Lia.theme, --lia-* (相同名称) |
MainButton, SecondaryButton, BackButton, SettingsButton | Lia.mainButton, Lia.secondaryButton, Lia.backButton, Lia.settingsButton |
HapticFeedback | Lia.haptic(kind) |
CloudStorage, DeviceStorage, SecureStorage | Lia.cloudStorage, Lia.deviceStorage, Lia.secureStorage (承诺,而不是回调) |
showPopup, showAlert, showConfirm | 相同的,作为承诺 |
openInvoice 和星星 | Lia.pay(productId),以$LIA支付 |
start_param | Lia.startParam |
#网页应用分析
Lia.analytics (SDK 1.8) 在 Lia Labs 的 OpenPanel 项目中记录可选的网络应用使用情况。它与当前的 iOS 和 Android 构建版本兼容。这是一个 单独的同意 从原生应用的“共享使用数据”开关。
当您的页面调用 Lia.ready(),SDK 检查团队是否启用了分析功能,并在该玩家尚未为此应用做出选择时询问一次。拒绝将不会发送任何事件。一个小的隐私按钮允许该人以后更改其选择。该选择会存储在 Lia 的服务器上,按玩家和网络应用进行存储。在获得同意之前或拒绝之后,不会排队或重放任何分析事件。
Lia.analytics.allowed:此页面当前是否有权限。Lia.analytics.requestConsent(): 再次打开隐私选择并进行回答true只有在获得授权后。Lia.analytics.disable(): 立即停止此页面的发送并保存退出选择。Lia.analytics.track(name, properties?): 用于判断事件是否已发送;失败永远不会阻止你的游戏。名称使用小写字母、数字和下划线,以字母开头,最多 48 个字符。属性允许最多 12 个数字或布尔值,带有小写标识符键,最多 32 个字符。
await Lia.init();
Lia.ready();
// Only sends when the person has already agreed. Never prompt during a round.
await Lia.analytics.track("round_finished", { level: 3, score: 120, won: true });SDK 在获得同意后记录打开和恢复。为游戏里程碑添加您自己的静态事件名称。不要使用名称、电子邮件、消息、URLs、自由文本或账户标识符作为事件名称。文本属性将被拒绝。收集器会添加应用ID和实时/测试模式,检查已签名的会话,重新检查同意,尊重团队的分析关闭开关,并将每名玩家每应用每分钟的事件限制为60个。它会转发聚合事件,但不带玩家个人资料ID、页面URLs、表单值或个人的IP地址。
跟踪器使用 POST /api/web-analytics/consent 和 /track 带有新的已签名的应用会话。这些SDK所有端点不需要开发人员API密钥。OpenPanel凭据留在Lia的服务器上。
这些分析方法位于通过 script 标签加载的托管 SDK 中。邀请和大厅链接不会自动弹出同意请求;隐私按钮始终可用。
自动翻译。英语是真实来源。 阅读英文