捆绑包配置
小游戏的一些配置可以通过开发者门户或游戏捆绑包中嵌入的专用 JSON 文件来实现。在开发者门户中更新某个值时,将全局更改所有游戏版本中的这个值,而捆绑包配置只会更改某个特定捆绑包中的这个值。后者尤其适用于同时有两个或多个捆绑包上线的软发布阶段。
本文档将详细介绍如何配置特定版本的更改。
设置
要启用捆绑包配置,应在 zip 文件中添加fbapp-config.json文件。
{
"instant_games": {
"property_1": "VALUE A",
"property_2": "VALUE B", //...
}
}
此文件必须添加到归档文件的根目录中,而非添加到类似于index.html的任何子文件夹。如果此文件在捆绑包内,则其包含的任何配置值都将覆盖应用面板中全局设置的值。
受支持的配置
平台版本
可通过platform_version属性设置特定的捆绑包并使用我们的“经典”版平台(适用于 SDK 2.1 和更低版本)或丰富游戏功能(适用于 SDK 3.0 及更高版本)此属性接受字串值'RICH_GAMEPLAY'或'CLASSIC'
下面是设置此值的fbapp-config.json文件的示例。
{
"instant_games": {
"platform_version": "RICH_GAMEPLAY",
}
}
自定义更新模板
通过此配置,您可以为应用发送的每个自定义更新指定标识符。您可以通过 SDK 4.0 及更高版本发送包含标识符的自定义更新。这是在fbapp-config.json中设置配置的方法
{
"instant_games": {
"custom_update_templates": {
"pass_score": {
"example": "Kun just scored 100 and passed Alissa's highscore!"
},
"play_turn": {
"example": "Kun just played HELLO. Now it's Alissa's turn!"
}
}
}
}
在配置文件中设置好这些模板后,可以通过template参数调用FBInstant.updateAsync()来参考这些模板,如下面的示例所示:
// game.js
FBInstant.updateAsync({
action: 'CUSTOM',
template: 'play_turn',
text: 'Kun just played HELLO. Now it\'s Alissa\'s turn!',
image: '...',
data: '...',
})
今后,您可以通过实施此配置为每个模板指定带格式的字符串和本地化内容。
玩家统计数据
使用玩家统计数据 API 存储的部分玩家统计数据可在 Facebook 中显示。这些统计数据可在fbapp-config.json中配置,如下所示:
{
"instant_games": {
"surfaceable_stats": {
"rank": {
"priority": 1,
"order": 1,
"label": {
"localizations": {
"en_US": "Rank",
"th_TH": "\u{0E22}\u{0E28}",
},
"fallback": "Rank"
},
"values": {
"0": "Unranked",
"1": "Bronze",
"2": "Silver",
"3": "Gold",
}
}
}
}
}
另外我创建了一个 Facebook Instant Game 交流QQ群:814298516