facebook instant game 发布指南-小游戏 SDK

本部分包含关于小游戏 JavaScript SDK 的 API 参考文档。 如果您想开始构建新游戏,建议始终使用我们的最新版 SDK。请点击下方的按钮,参阅关于最新版 SDK 的参考文档:

版本 6.2(参阅参考文档)

(新增)关联玩家分数记录推出新的Leaderboard.getConnectedPlayerEntriesAsync()API, 可通过排行榜获取当前玩家的 关联玩家的分数记录。

版本 6.1(参阅参考文档)

智能助手订阅 API借助智能助手订阅 API, 游戏可以让玩家订阅游戏的 Messenger 智能助手(如果玩家未订阅)。

[仅限 Android] 主屏幕快捷方式 API借助主屏幕快捷方式 API,开发者可以在游戏内向玩家展示 保存对话框,方便他们将游戏保存到主屏幕。

匹配 API(更新)此版本还包括匹配 API 的更新。我们 新增了一个额外的参数,用于指定您是希望游戏在玩家匹配后就切换到 新创建的环境中, 还是等到玩家在 Toast 中点击“玩游戏”按钮之后才切换。

版本 6.0(参阅参考文档)

排行榜此版本全新推出排行榜 API!提供一套强大的 API, 使得游戏可获取排行榜、查询得分 情况和设置新分数(支持分数所带的 任意元数据),并可向 Messenger 对话推送结构化的排行榜 更新消息。

游戏内切换我们还针对游戏内交叉推广引入了一个新 API。它目前 处于封测阶段,如果您有兴趣在自己的游戏中帮忙 测试游戏内切换 API 的集成效果,请联系 您的合作伙伴经理!游戏内切换 API 可在 iOS 和 Android 设备的 Facebook v159+ 和 Facebook Messenger v153+ 使用。

版本 5.1(参阅参考文档)

应用内购买 API增加了小游戏适用的应用内购买 API。游戏可借此获取目录和 玩家购买情况,并购买和使用物品。目前处于封测阶段。

配对 API借助此 API,游戏可以将当前玩家与其他感兴趣玩家的游戏环境 进行匹配。目前处于封测阶段。

版本 5.0(参阅参考文档)

广告 API两款全新的 API 可方便投放插屏广告和奖励式视频广告。要求 配置游戏以便在小游戏中投放广告。

Player StatsAPI,用于设置、获取并自动增加与玩家相关的 整数统计数据。辅以捆绑包配置的新增内容, 可为玩家统计数据配置元数据, 通过 Facebook 平台级集成显示统计数据。

getEntryPointAsyncAPI,获取启动游戏的入口点。

Custom Update Dev Localization自定义更新 API 的增补, 让开发者能够提供更新内容的本地化版本。

重大更改将 CLIENT_REQUIRES_UPDATE 更名为 CLIENT_UNSUPPORTED_OPERATION

版本 4.1(参阅参考文档)

FBInstant.player.getSignedPlayerInfoAsync()提供有关当前玩家信息的负载, 使用游戏的应用密钥签名,以验证所有 信息均来自于 Facebook 且准确无误。

FBInstant.context.getPlayersAsync()提供所有加入当前游戏环境的活跃玩家 的列表。目前,受支持的常规玩家信息包括 玩家编号、姓名和照片网址。

FBInstant.context.isSizeBetween()允许游戏检查加入当前游戏环境的人数 (包括非玩家)是否在一定范围内。在一个游戏环境中仅允许对每个会话 进行一次检查,后续请求只会返回最初的 结果。

环境筛选条件我们已为 FBInstant.context.chooseAsync() 添加可选的筛选条件参数,这让游戏可以按照环境推荐请求使用筛选条件, 包括设置环境规模范围、将筛选结果限制在环境中 未玩过游戏的新玩家上,以及为“当前挑战”添加 额外部分。此功能正面向我们的客户逐步推广, 以下是具体的时间安排:

iOS - Messenger v133(8 月 30 日)

Android - Messenger v135(9 月 11 日)

Web - 9 月初

版本 4.0(参阅参考文档)

(更新)ConnectedPlayer更新了 Connected Player 对象。该对象将不再有 “id”属性,而是提供下列属性:

.id — 玩家的编号

.name — 玩家的全名

.photo — 玩家公开的头像网址

(更新)Platform我们正推出一种新的平台类型 —“MOBILE_WEB”。虽然移动 网页播放器现在尚未公开可用,但在发布后它将使用 此平台类型。游戏应确保针对此平台类型设置正确的控件, 为所有玩家提供 最佳体验。

(新增)Custom Update Templates现在,调用 FBInstant.updateAsync() 以发送自定义更新时,必须 在“template”字段填充要发送的自定义更新类型的 ID, 具体信息请参阅游戏的捆绑包配置文件  (https://developers.facebook.com/docs/games/instant-games/bundle-config)。

(更新)Context Choose Options— 进行中我们正在为 FBInstant.chooseAsync() 添加可选的筛选条件, 这些筛选条件会影响我们向玩家推荐的一系列游戏环境。 涉及这一更新的客户端实施仍在稳步推进,但开发者现在即可 在游戏中集成这些选项。 最初支持的选项有:

minSize — 在推荐的游戏环境中,游戏支持的最少 玩家数量

maxSize — 在推荐的游戏环境中,游戏支持的最多 玩家数量

filters — 一组筛选条件。支持的第一个筛选条件 是 NEW_CONTEXT_ONLY,此筛选条件会尝试仅面向之前未玩过游戏的用户 推荐游戏环境。

版本 3.2(参阅参考文档)

FBInstant.getSupportedAPIs()提供客户端支持的 SDK API 的列表。 仅适用于游戏可用的显示功能。

FBInstant.player.flushDataAsync()立即将队列中的任何更改刷新到玩家数据中。玩家数据 会正常保留在后端,所以这种方法可便于清楚地了解 是否存在更改。

FBInstant.context.createAsync(playerID)允许游戏指定一个玩家,且活跃玩家应 通过这个玩家进入游戏环境。指定的玩家必须是对应活跃玩家的 关联玩家。

自定义更新策略:IMMEDIATE CLEAR清除任何待处理的更新(例如通过“LAST”策略设置的更新)。 这主要适用于以下情况:游戏需要发送重要更新,但为了优先处理新更新, 应先清除某些现有的 重要性较低的待处理更新。

版本 3.1(参阅参考文档)

(更新)FBInstant.updateAsync()现在我们接受 CustomUpdatePayload 中的“notification”参数, 允许开发者明确设置更新是否应该 触发推送通知。请参阅关于 updateAsync 的 文档了解详细信息。

版本 3.0(参阅参考文档)

(删除)FBInstant.game.setScore()现在,开发者能够利用我们极具灵活性的开放平台, 在他们自己的后端保留可自定义的排行榜。

(删除)FBInstant.takeScreenshotAsync()和FBInstant.sendScreenshotAsync()在极具灵活性的新版开放平台中,分享内容不再局限于截图, 用户可以分享任何图片。替换为FBInstant.shareAsync()。

(删除)FBInstant.endGameAsync()替换为FBInstant.quit(),从而将控制权交回给玩家。

(删除)FBInstant.abort()替换为FBInstant.quit(),从而能够处理任何退出条件。

(新增)FBInstant.quit(), 将控制权交回 Facebook Messenger 用户界面。用于游戏应该退出 或处于不可恢复的错误状态时。

(新增)FBInstant.updateAsync()在 Messenger 对话中发送完整的可自定义消息。

(新增)FBInstant.getEntryPointData()允许随更新消息一同发送通用数据块

(新增)FBInstant.onPause()方便开发者设置处理程序,用于处理游戏中断的情况 (例如:切换应用、接打电话)

(新增)FBInstant.player.getConnectedPlayersAsync()检索当前玩家的 Facebook 好友或 Messenger 联系人的 玩家编号。只会返回 也在玩小游戏的玩家。

(新增)FBInstant.context.chooseAsync()为用户呈现当前游戏环境的更改界面 (例如:更改 Messenger 对话)。

(新增)FBInstant.context.switchAsync()切换为任一环境 ID(例如:根据已知的环境 ID 切换至特定的  Messenger 对话)。

(新增)FBInstant.shareAsync()为用户显示分享对话框,方便他们与好友分享游戏内容。

(新增)FBInstant.setSessionData()方便开发者在特定的游戏环境中为当前的会话 设置自定义负载。可用于填充智能助手 Webhook。

版本 2.1(参阅参考文档)

(新增)FBInstant.logEvent()将事件记录到 Facebook 分析中

(新增)FBInstant.context.getType()返回当前所玩游戏的环境类型。

版本 2.0(参阅参考文档)

(重大更改)公共 API 属性更新为函数我们已将所有公共 API 属性(如FBInstant.locale)更新为函数(如FBInstant.getLocale())。这一更改可让 SDK 界面在未来具备向后兼容性。这些函数都是同步的,并会立即返回响应。

(新增)FBInstant.player.getName():FBInstant.player.getName会返回当前玩家的本地化显示名称。

(新增)FBInstant.player.getPhoto():FBInstant.player.getPhoto会返回当前玩家的头像网址。

(更新)FBInstant.takeScreenshotAsync():以前是FBInstant.takeScreenshot,现更名为FBInstant.takeScreenshotAsync,并会返回 Promise。如果我们未能成功截图,那么这个 Promise 将被拒绝。

(更新)FBInstant.sendScreenshotAsync():以前是FBInstant.sendScreenshot,现更名为FBInstant.sendScreenshotAsync,并会返回 Promise。如果图片无效,那么这个 Promise 将被拒绝。

版本 1.1(参阅参考文档)

(新增)游戏环境标识符FBInstant.context.id提供玩家开始游戏比赛时所在的环境的信息。这是 Messenger 对话或动态消息中的动态的唯一标识符,具体视开始游戏的位置而定。

(新增)键值存储FBInstant.player.getDataAsync和FBInstant.player.setDataAsync让您能够在 Facebook 后端保存玩家提供的信息。

(更新)FBInstant.locale:现在会返回用户实际使用的语言环境,而非默认的测试值'en_US'

(更新)FBInstant.player.id:现来自我们的后端系统,所以可用于跨所有应用和设备识别同一用户。

版本 1.0(参阅参考文档)

方法重命名:之前,我们为特定调用指定了命名空间,现在我们在方法名称中添加了这些调用的域名。 我们还重命名了一些方法,以提高明确性。重命名的方法如下:

FBInstant.loading.setProgress()现在为FBInstant.setLoadingProgress()

FBInstant.loading.complete()现在为FBInstant.startGameAsync()

FBInstant.game.setScore()现在为FBInstant.setScore()

FBInstant.game.asyncYieldControl()现在为FBInstant.endGameAsync()

FBInstant.media.takeScreenshot()现在为FBInstant.takeScreenshot()

FBInstant.media.sendPicture()现在为FBInstant.sendScreenshot()

FBInstant.system.abort()现在为FBInstant.abort()

(新增)Initialization:新增方法FBInstant.initializeAsync(),此方法应返回一个 Promise。此 Promise 履行后,会为全局对象设置正确的信息。 除此之外,系统仅在玩家实际开始玩游戏时解析FBInstant.startGameAsync()返回的 Promise。 因此使用这一 API 时,游戏本身必须有“轻触开始”按钮

(新增)平台信息:添加FBInstant.platform属性,初始化后将填充为以下 3 个值中的一个:'iOS'、'android'或'web'

(新增)语言信息:添加FBInstant.locale属性,初始化后将填充为用户的语言代码。

(新增)玩家 ID 信息:添加FBInstant.player.id属性,初始化后将填充为玩家的匿名 ID。

删除未实施的方法:之前被标记为[未实施]的所有方法均已删除。这些方法会在实施后重新添加。

在 SDK 文件名称中添加 API 版本信息:此文件现在可通过fbinstant.1.0.js获取。 新发布文件的名称将始终包含 API 的版本信息。fbinstant.js将保持为当前版本,不会升级或更改。 最新版本可随时通过fbinstant.latest.js获得,但建议不要直接指出对应的路径,因为以后可能在这个路径下实施重大更改。

另外我创建了一个 Facebook Instant Game   交流QQ群:814298516



欢迎同行们加入讨论技术

猜你喜欢

转载自blog.csdn.net/box_square/article/details/80900742