Lia开发者

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.initDataLia.init() 用一个会话令牌,你的服务器会用它进行验证 POST /session/verify.
themeParams, --tg-theme-*Lia.theme, --lia-* (相同名称)
MainButton, SecondaryButton, BackButton, SettingsButtonLia.mainButton, Lia.secondaryButton, Lia.backButton, Lia.settingsButton
HapticFeedbackLia.haptic(kind)
CloudStorage, DeviceStorage, SecureStorageLia.cloudStorage, Lia.deviceStorage, Lia.secureStorage (承诺,而不是回调)
showPopup, showAlert, showConfirm相同的,作为承诺
openInvoice 和星星Lia.pay(productId),以$LIA支付
start_paramLia.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 中。邀请和大厅链接不会自动弹出同意请求;隐私按钮始终可用。

自动翻译。英语是真实来源。 阅读英文

输入以搜索每一页、方法和端点。