Facebook 网页托管

现在,Facebook 游戏平台允许您直接将游戏的客户端代码上传到 Facebook,而不必将游戏托管在自己的或其他第三方服务器中。这是一种免费且简单的新方式,采用与 Facebook 照片和视频机制相同的快速、可靠的基础架构,可帮助您覆盖数百万玩家。

托管的游戏会继续使用 iframe 提供体验,但您不再需要指定 Facebook 网页游戏网址即可使用它们。您只需上传资产,Facebook 内部便会悉心为您完成 Facebook 网页游戏网址的发布和更新。

请点击此处,详细了解 Facebook 游戏如何搭配使用 iframe 和外部托管服务。

在应用面板的“产品”下,有一个名为网页托管的新选项卡。请注意,您需将应用归类到游戏,才能添加此产品。

资产在此选项卡下,您可以找到上传和管理游戏资产所需的所有工具。目前,我们支持常见的网页资产,例如 html、css,以及包含以下额外亮点的图像文件:

  • HTML5 支持的媒体(html、css、图像等)
  • 使用 Unity 的 WebGL 构建目标构建的应用程序

请注意以下关于要上传的应用的限制:

  • 不支持 php 等服务器端逻辑。
  • 对于 Gameroom,上传文件的总大小不得超过 5 GB,对于小游戏,则不得超过 200 MB。
  • 单个应用上传的文件数量不得超出 500 个。
  • 只有在您的应用程序完成游戏审核流程,并获得批准后,公众玩家才能够访问您的托管游戏。

第 1 步 — 选择应用程序类型

在“网页托管”选项卡中,选择适合您的应用程序类型的“托管类型”:

目前仅支持两种应用程序类型:HTML5 网页应用程序和 Unity 的 WebGL。独立的 Unity WebGL 类型会启用一些具有针对性的优化和功能,但不会对常规的网页应用程序产生影响。

第 2 步 — 上传游戏

HTML5

以压缩存档文件的形式提供 HTML5 应用程序,相关限制条件与 Unity WebGL 类型的应用程序相同。在加载游戏时,系统会调用压缩存档文件根目录中的 index.html

请务必将生成的 index.html 文件置于压缩文件的根目录中,因为这是我们可以启动相关内容的唯一位置。所有其他网址均需要为相对路径。

./index.html

资源文件可置于目录结构的任何位置,只要提供相对于 index.html 的引用路径即可。例如,以下文件:

./assets/splash.png

如要引用该文件,必须采用以下方式:

<image src="assets/splash.png"/>

虽然查询参数 signed_request 可以通过 document.documentURI 用于 JavaScript,但我们强烈建议您使用 JavaScript 版 Facebook SDK 执行所有登录和身份验证操作。详细了解如何利用 JavaScript 版 Facebook SDK 实现 Facebook 登录


Unity WebGL 游戏

Unity 的 WebGL 构建目标可以直接压缩和上传。

请务必将生成的 index.html 文件置于压缩文件的根目录中,因为这是启动相关内容的唯一位置。所有网址都应为相对路径。

对于 Unity 5.1,此压缩存档文件包含以下内容:

  1. index.html
  2. Compressed/*gz
  3. Release/*
  4. TemplateData/*

您可以使用 Unity SDK 处理用户登录。WebGL 构建目标支持 Unity 专用 Facebook SDK。详细了解 Unity 专用 Facebook SDK

第 3 步 — 启用托管内容

新上传的资产都会显示为“正在处理”状态。此过程需要 15 至 90 秒的时间来准备和扫描资产。完成后,您的资产将转变为“待命”状态。

为了在应用程序中使用这些资产,您可以选择上传的资产行对应的“推送到生产环境”按钮。

选择推送到生产环境,系统会将资产更新为“生产”状态。测试版应用程序的资产将显示为“测试中”状态。

如果您的应用程序是首次使用托管服务,则您还必须在应用程序的设置选项卡中启用“简单应用程序托管”。

这会让您的应用程序从使用 Facebook 网页游戏网址切换为使用网页托管选项卡中上传的资产。您可以随时关闭此选项,禁用网页托管,并切换回 Facebook 网页游戏网址。

第 4 步 — 请求游戏审核

在此开发阶段,游戏的开发者和其他帐户身份都可以试玩和测试您的游戏。

但您托管的游戏必须先通过审核,获准在应用中心上架,这样普通玩家才能访问这些游戏。如果您的游戏已经在应用中心上架,则您无需执行此步骤。

请前往应用面板中的应用中心选项卡,开始提交游戏审核材料。详情请参阅此处

其他要求/已知问题

  • 如果游戏资产通过网页托管功能进行托管,则这些资产应该只能通过 Facebook 访问。您不得从外部网站或应用程序链接到这些资产。