宿主 UI
FRVR 的原生 App 壳(Google Play、iOS、Samsung Galaxy Store)可以在游戏周围绘制一个标题栏,里面有隐私与同意入口,以及登录或账号菜单。FRVR.hostUI.titlebar 上报这个栏的位置,并允许游戏隐藏它。
SDK 初始化之后 FRVR.hostUI 始终存在。在没有标题栏的宿主上它上报 supported: false,所以不需要额外判空。
读取标题栏状态
Section titled “读取标题栏状态”| 字段 | 含义 |
|---|---|
supported | 宿主能绘制标题栏。没有标题栏的宿主上为 false。 |
visible | 标题栏正在显示。 |
mode | 绘制方式:dedicated(游戏上方的一条栏)、cutout(在刘海或挖孔区域内)、rail(横屏时游戏旁边的竖条)、rail-cutout(侧边挖孔区域内的竖条)。宿主可能增加更多取值。 |
edge | 所在的屏幕边:top、left 或 right。 |
height / width | CSS 像素尺寸。隐藏时为 0。 |
consumesGameSpace | 是否占用游戏的空间(dedicated 和 rail 会)。 |
游戏的视口已经减去了标题栏。**不要为它偏移布局。**尺寸字段是给想把某些元素与标题栏对齐的游戏用的。
getLastState() 同步返回最近一次已知的状态(宿主应答之前为 supported: false),getHeight() 返回最近一次已知的高度。
旋转设备可能把顶部的栏变成侧边的竖条:
自己绘制登录、账号和隐私按钮的游戏,可以隐藏宿主的:
setVisible() resolve 出调用之后标题栏是否可见;在没有标题栏的宿主上始终是 false。
想在游戏显示之前就隐藏它,设置 FRVR.config.host.titlebar = false。通常 FRVR 会在生成的配置里按渠道设置好。
API 摘要
Section titled “API 摘要”| 方法 | 作用 |
|---|---|
titlebar.getState() | 宿主应答之后的当前状态。 |
titlebar.getLastState() | 同步返回最近一次已知的状态。 |
titlebar.getHeight() | 最近一次已知的高度,CSS 像素。 |
titlebar.setVisible(visible) | 显示或隐藏标题栏。resolve 出最终的可见性。 |
titlebar.onChange(fn) | 标题栏显示、隐藏、改变尺寸或位置时调用 fn(state)。返回一个移除监听的函数。 |