跳转到内容

YouTube Playables

FRVR 目前发行的最严格渠道。摩擦集中在长宽比(必须全部支持)和外部网络调用(基本完全禁止)。请配合全局要求一起阅读。

源头依据:Google Playables certification requirements

游戏必须所有长宽比下可玩:9:32、9:21、9:16、3:4、1:1、4:3、16:9、21:9、32:9。pillarbox / letterbox 留边可以;不渲染或布局崩了不行。

必须不锁设备方向或姿态。

FRVR.tracker.gameReady() 是一个必填方法。你必须在游戏变得可交互的那一刻调用它 —— 也就是玩家已进入实际游玩,或进入一个可以操作的主菜单时。绝不要在那之前调用(例如启动、加载资源、或 logo 屏期间)。

// 玩家一旦可以交互,立刻调用一次:
FRVR.tracker.gameReady();

过早调用 gameReady() —— 在游戏仍在加载或非交互时 —— 是直接拒。

提交到 YouTube Developer Portal 的缩略图、标题、描述必须不包含工作室 logo。

FRVR.bootstrapper.complete() 必须仅在游戏可交互(主菜单或可玩状态)时调用。详见上面的游戏可交互时发出信号

  • 必须onAudioSuspend / onAudioResume 做静音。宿主静音状态由渠道包自动桥接。
  • 必须不做游戏内静音按钮。(比全局基线更严。)
  • 必须不用 Page Visibility API 或任何 web API 检测暂停。只用 FRVR 生命周期回调。
  • onSuspend 时,所有东西停下:游戏循环、渲染、音频、动画、计时器、网络、输入。
  • 游戏必须不onResume 触发之前重新可交互。不能提前接受输入、不能提前恢复音频或渲染。
  • 必须FRVR.cloudStorageFRVR.localStorage 持久化所有状态。必须不直接动 window.localStorage、cookies、IndexedDB,或引擎级存储(Unity PlayerPrefs、Cocos sys.localStorage、Construct 的本地存储)。直接使用是直接拒。(比全局基线更严。)
  • 云存档总量 < 3 MiB。
  • 退出时的最后一次存档是 best-effort,上限 64 KiB。不要依赖。
  • 旧版本游戏的存档必须继续能读。
  • 必须FRVR.locale.get()
  • 必须不navigator.language / navigator.languages
  • 必须支持英文。其他语言可选。

YouTube 是当前变现限制最严的渠道:

  • 必须不展示平台外广告。仅允许通过 FRVR.ads 路由的广告(渠道包接到宿主自己的广告界面,目前公开预览中)。
  • 必须不通过平台外服务做内购。当前没有平台内的内购选项;实际等于内购被禁用。
  • 必须在 YouTube Developer Portal 申报任何变现行为。
  • 渠道包对不支持的类型会让 FRVR.iap.isReady() === falseFRVR.ads.isSupported(type) === false。请相应地控制 UI。
  • 必须不做任何外部网络调用。所有内容打到 YouTube 托管的包里。仅允许 FRVR 渠道包内部产生的网络流量。
  • 必须不绕过这个限制(用 Google 域名做代理、把 payload 编进图片请求等)。YouTube 视为安全违规。
  • 必须遵守 Google 隐私政策,与 FRVR 隐私政策一同适用,不是替代。
  • 必须不读剪贴板,除非是直接响应玩家的明确粘贴动作。

YouTube 在全局预算之上额外要求:

  • 初始包(页面加载 → FRVR.bootstrapper.complete()):必须 < 30 MiB;应该 < 15 MiB。
  • 总包:必须 < 250 MiB。
  • 单文件:必须 < 30 MiB;应该 < 512 KiB。
  • 存档:必须 < 3 MiB;应该 < 500 KiB。
  • 加载时间:应该 < 5 秒到可交互。
  • 必须在 Android 和 iOS 的 YouTube app,以及 Edge、Chrome、Firefox、Safari 上跑通。
  • 必须不让 JS 堆峰值超过 512 MB。
  • 必须只用相对路径。
  • 必须文件名仅包含字母数字加 _-.
  • 必须遵守 YouTube 社区准则
  • 必须不面向儿童(“made for kids”)。内容必须适合 13+ 一般受众。
  • 必须不用误导性的标题、缩略图、描述。
  • 必须遵守 YouTube 开发者 ToS
  • 必须为在 YouTube 上发行清好所有第三方 IP、商标、音乐、形象权。
  • staging 链接保密,必须不在测试范围之外分享。