跳转到内容

集成要求

游戏怎么和 SDK、和宿主渠道沟通。渠道专属差异见渠道页面

  • 必须在任何代码访问 window.FRVR 之前加载 frvr-sdk.min.js(以及 dev 阶段的 frvr-channel-dev.min.js)。
  • 必须在调用 FRVR.init() 之前填好 FRVR.config 并接好所有生命周期回调。详见 start/overview
  • 必须调用 FRVR.bootstrapper.init() → 加载资源 → FRVR.bootstrapper.complete()

五个全部必须实现:

回调触发场景
onSuspend暂停游戏循环(插屏、应用退到后台)
onResume恢复游戏循环
onAudioSuspend静音 / 暂停音频
onAudioResume恢复音频
onGamePause玩家显式暂停

各引擎接线:Web · Unity · Cocos · Construct 3

  • 必须不用 Page Visibility API、blur/focuspagehide 之类驱动暂停。
  • 暂停意味着所有东西停下:游戏循环、音频、网络、动画、计时器、渲染。onResume 是唯一合法的恢复路径。
  • 必须让所有音频走渠道能静音的回调(生命周期音频回调;Unity / Cocos 里就是接到引擎主混音器上)。
  • 必须不在玩家产生交互前播放音频。
  • 必须在有意义的检查点用 FRVR.cloudStorage 持久化进度。云端是规范来源:跨设备、扛得住渠道级数据清除。
  • 应该同时用 FRVR.localStorage 处理高频或临时写入(关卡内检查点、UI 偏好、节流计数器)。云端写有速率限制;本地写很便宜。
  • 模式:每次状态变化写本地;粗粒度检查点和 onSuspend 时写云端。
  • 必须不直接用 cookie、IndexedDB 或 window.localStorage
  • 必须先读云端再写云端。
  • 应该让 payload 小一些。各渠道限制详见稳定性

如果游戏向排行榜或渠道分数 API 提交”最高分”,这个值必须与玩家在游戏中看到的一致。