概念
应用如何在Lia中运行
复制页面
您的页面在Lia应用内的锁定框架中运行,并且只能通过SDK访问Lia。三种外观,Lia的标题和菜单,以及您的页面运行的规则。
#框架
当有人打开您的应用时,Lia 会向其服务器询问他们是否可以(参见 测试和上线),并在 Lia 应用内加载您的页面。您的页面是一个普通的网页:任何框架,任何主机,通过 https 提供。
框架被锁定,因此人们可以信任Lia 中的每个应用:
- 只有您自己的页面会加载。 框架保留在你的应用中'的来源(其方案、主机和端口)。任何其他网站的链接或重定向都会被阻止。用以下方式打开其他网站
Lia.openLink. - 您的页面仍可以获取。 脚本、图片、字体和
fetch()对其他地址的调用在网页上工作方式相同(使用CORS,如常)。 - 没有弹出窗口或新窗口,没有摄像头、麦克风或位置,也没有你自己的支付。金钱、广告和手机上的任何东西都发生在Lia'自己的屏幕覆盖你的应用。
- Lia只会在顶部框架中听到你的页面。 SDK 从你的页面内的 iframe 或其他来源的页面调用会被忽略。
- 消息简短且节奏适中。 一个超过16,000个字符的通话会被忽略(并超时)。在一秒钟内超过20次通话会被拒绝,并
slow_down.
Lia'的框架报告 LiaApps/1 在用户代理的末尾,如果你想在你的服务器上识别它。
#桥梁
SDK 通过框架与 Lia 通信'的桥梁。您页面的每次调用都是一条带有ID的消息;Lia 会回答一次,SDK 会将其转换为一个承诺。Lia 还会发送事件(主题已更改,应用已暂停),您可以通过 Lia.on.
那些等待人的调用(付款表、广告、扫描仪、Face ID、对话框)没有时间限制。其他所有调用都会失败并显示 timeout 如果Lia没有'在20秒内未得到回答。在Lia应用之外没有桥梁,每次调用都会失败 not_in_lia.
#三种外观
每个应用以三种外观之一打开,由 Lia 团队为您的应用设置。您的页面可以通过 SDK 在它们之间切换。
| 看 | 它是什么 |
|---|---|
sheet | 在Lia上,像Telegram小程序一样,占据屏幕高度的四分之五。这个人可以将其拉到全高,或者你的页面调用 Lia.expand()。向下滑动可以关闭它。大多数应用都是这样打开的。 |
full | 整个屏幕,在Lia之下'的标题。 |
fullscreen | 边缘到边缘,仅限 Lia'的浮动关闭和⋯按钮在你的页面上。保持你的内容在下方 Lia.contentSafeArea.top. |
Lia.display 说你的应用是如何打开的,以及 Lia.isFullscreen 当它'边缘到边缘现在。 Lia.requestFullscreen() 和 Lia.exitFullscreen() 在全屏模式之间切换。
#Lia'的标题和菜单
在 sheet 和 full,Lia 会在你的页面上绘制一个标题:你的应用'的图标和名称(以及 测试 与你的开发者名称(在测试时),一个⋯菜单和关闭。你可以 给它上色 并显示一个 返回按钮 在其中。
⋯菜单始终包含:
- 设置,当您的页面显示
Lia.settingsButton. - 开启或关闭通知,当您的应用可能发送它们(参见 通知).
- 静音或取消静音声音,你的页面会听到
soundChanged. - 重新加载 和 关闭.
#当页面加载时
Lia 从应用程序打开的那一刻起就在您的应用上显示自己的加载器,直到您的页面调用 Lia.ready() (或加载完成)。在您的第一个屏幕绘制完成后立即调用。如果您的页面加载失败,Lia 会显示一条带有“重试”的消息。
#暂停和恢复
您的页面会听到 pause 当Lia进入后台或用其自身的屏幕(付款表单、广告、对话框、扫描器)覆盖你的应用时,以及 resume 当它'的背面。暂停计时器、音乐和游戏循环在 pause。参见 生命周期和事件.
#一次一张表
Lia 一次在您的应用上显示它自己的屏幕之一。当支付表单、广告、对话框、好友选择器、通知请求、扫描器或Face ID 打开时,另一个这样的调用会因Lia而失败 busy.
#谁可以打开您的应用
- 人们需要一个Lia 用户名 打开任何应用。
- 当你的应用处于 测试,只有你和你的测试者可以打开它。当它's 实时,每个人都可以。当它's 暂停,没有人可以。查看 测试和上线.
- 如果 Lia 团队设定了 最小连击 为了你的应用,人们需要一个这么长的签到连续性才能打开它。Lia 向他们展示如何做到这一点。
自动翻译。英语是真实来源。 阅读英文