认证常见问题解答

如果您有本页面未涵盖的问题,请使用支持联系页面上的联系信息与我们联系。

本页面可能会根据收到的常见问题进行更新。

常规

此部分包含不属于特定类别的所有问题。

我可以在 YouTube 环境中测试游戏吗?

可以,请使用开发者门户并按照测试说明操作。

我的游戏无法在 Android 或 SDK 测试套件上渲染,该怎么办?

如果游戏无法在 Android 或 SDK 测试套件上单独呈现,通常是因为游戏在 WebView 中的加载方式。出于性能原因,游戏最初会在不向用户显示的 WebView 中加载,导致 WebView 视口大小为零。如需解决此问题,建议采用以下解决方案:

(1) 验证游戏代码是否会执行,无论视口大小如何。

(2) 验证游戏代码是否会处理视口大小调整,以及当视口大小为零时,游戏代码是否不会等待或失败。

我们建议您监听窗口事件 resize,并仅在 window.innerHeight 不为零时设置游戏的高度。

技术要求

本部分包含与 YouTube 游戏大本营技术要求相关的问题。

我可以申请豁免单个文件大小限制吗?

不能。单个文件大小是硬性限制。

如何衡量初始 bundle 大小?

初始 bundle 大小是指在调用 gameReady 事件之前,Playable 下载的总字节数。

Playable 广告会尽可能使用 HTTP 压缩,这意味着初始 bundle 大小可能小于素材资源的原始总大小。在 SDK 测试套件中测试初始 bundle 大小时,如果您的本地主机未压缩资源,则可能会导致大小超出可玩广告发布后的大小。如需查看为试玩广告提供的实际初始 bundle 大小,请使用 SDK 测试套件指向上传的 build 中的 index.html 文件,或修改本地服务器设置以启用 gzip 压缩。

我已达到或超出单个文件或总集合大小限制,该怎么办?

如需优化游戏并提升性能,请参阅以下文章:

如果我无法将文件大小控制在总 bundle 大小限制内,该怎么办?

用户可能每次玩游戏时都必须下载游戏资源。 为避免加载时间过长和数据用量过大,建议尽可能缩减游戏的总 bundle 大小。

我们建议游戏在每个游戏会话期间,随着用户游戏进度的推进,利用延迟加载或其他类型的增量资源加载,或者按关卡拆分资源,以便在长时间的游戏会话中分批下载少量资源。在这种情况下,总 bundle 大小较大可能不会降低用户体验,实际上,通过以较低的每用户占用空间在游戏中启用更多内容,反而可以创造更好的用户体验。如果您认为自己的游戏符合这种情况,并且有理由采用更大的总 bundle 大小,请通过我们的支持联系页面与我们联系,讨论您的用例。

我的内部分析能否不遵循外部调用要求?

不能。目前,游戏大本营不得进行任何外部调用。请告知您的合作伙伴经理您感兴趣的分析类型,以便我们优先开发此领域的未来功能。

游戏会从远程数据库中提取数据和关卡,这是否可以接受?

目前不支持,但我们正在针对部分游戏测试远程数据访问功能。 目前,所有游戏数据都必须包含在游戏 bundle 中。如果您想更新或刷新游戏资源或内容,请使用支持联系信息页面上的联系信息与我们联系,以提交更新后的游戏 bundle;如果您想加入我们的试行计划,请与我们联系以进一步咨询。

我看到一条错误消息,提示我违反了执行内嵌脚本的“内容安全政策”

如果您使用 JavaScript 创建 <script> 标记并将其添加到网页中,就会发生这种情况。出于安全考虑,YouTube 使用内容安全政策 (CSP),该政策要求脚本具有名为“nonce”的特殊安全代码。YouTube 会自动将此代码添加到 HTML 文件中的脚本,但您必须手动将其添加到您使用代码创建的所有脚本中。

使用 JavaScript 以编程方式生成脚本标记时,您需要从网页中找到 Nonce,并将其应用于新的脚本元素。

示例:

const script = document.createElement('script');
script.src = '...';
// Find the nonce from the main page and apply it
script.nonce = document.querySelector('script[nonce]')?.nonce;
document.head.appendChild(script);

您可以使用测试套件说明中指定的指南来测试离线配置。

SDK 集成

本部分包含与任何 Playables SDK API 相关的问题。

我因音频集成问题而未能通过认证,需要修正哪些问题?

最常见的音频问题涉及在开始播放之前需要用户互动的游戏。不过,YouTube 游戏大本营可能会自动获得焦点,因此游戏必须处理这种情况。

如需查看音频设置示例,请参阅示例。

Unity

本部分包含有关将现有 Unity 游戏与 YouTube 游戏大本营 SDK 集成的所有问题。如需查看有关如何使用 SDK 和 Unity 封装容器的示例,请参阅 YouTube 游戏大本营 Unity 封装容器文档。

我可以使用 Unity 预压缩吗?

我们不建议预压缩资源。初始 bundle 大小要求使用压缩后的大小,上传的文件将在提取后进行压缩。如果仍需要预压缩文件,请参阅本部分的其余内容,或通过我们的支持联系页面与支持团队联系,讨论适合您游戏的最佳方案。

某些游戏需要对 Unity 的 .wasm 或 .data 文件使用预压缩。 仅在以下情况下使用预压缩,因为这可能会导致加载时间慢得多:

这些额外要求源于服务架构的限制。 目前,不支持其他 HTTP 标头或 Brotli 压缩。

游戏在后台运行时,如何管理帧更新?

您可以使用 setTimeout 管理游戏在后台运行时的帧更新。 这有助于控制暂停音频等行为。您可以通过在播放器设置中启用“在后台运行”选项来验证后台帧管理。

Unity 游戏的内存限制

Unity 中的某些游戏会使用大量内存,这可能会导致超出可玩广告的内存用量限制。建议您遵循 Unity WebGL 中的内存开发者文档。