跳转到内容

渠道特性

各渠道允许游戏做的事不同,自己绘制的 UI 多少也不同。FRVR.channelCharacteristics 是一个描述当前渠道的标志对象。在 FRVR.init() 之后、构建依赖它的 UI 之前读取。

if (FRVR.channelCharacteristics.allowExternalLinks) {
  showPrivacyPolicyLink();
}
标志默认值为 true 时
allowExternalLinkstrue游戏可以打开指向其他网站的链接。
allowInternalLinkstrue游戏可以打开宿主内部的链接。
allowNavigationtrue游戏可以修改 location 跳到其他路径。
allowSendBeacontrue可以使用 navigator.sendBeacon。
allowThirdPartyDomainstrue允许请求第三方域名。
hasDedicatedLoadingScreentrue渠道显示自己的加载界面。
allowSharingtrue游戏可以显示分享按钮。false 表示不支持分享,或由宿主自己的 UI 处理。
hasNativeAudioControlsfalse宿主绘制声音和音乐开关,并控制游戏的音频。见音频状态。
usesPlatformLifecyclefalse暂停和恢复只来自平台的 SDK。见下文。

旧的渠道包里可能没有 allowSharing 和 hasNativeAudioControls。缺少 allowSharing 时按 true 处理,缺少 hasNativeAudioControls 时按 false 处理:

const chars = FRVR.channelCharacteristics;
if (chars.allowSharing !== false) showShareButton();
if (chars.hasNativeAudioControls) hideAudioToggles();

在 frvr.com 的游戏页面上,游戏外层的页面负责绘制分享按钮、法律链接,以及声音和音乐开关。渠道上报 allowSharing: false、allowExternalLinks: false 和 hasNativeAudioControls: true,游戏最好隐藏自己的对应控件。

usesPlatformLifecycle 为 true 时,SDK 不会挂 focus、blur 或 Page Visibility 监听。游戏收到的每一次暂停和恢复都来自平台。YouTube Playables 要求这样做。

对游戏来说没有变化:继续使用生命周期回调,不要自己加可见性监听。