存储 Facebook Instant Game 排行榜的附加信息

Storing additional information for Facebook Instant Game leaderboard

我想制作一个独立于 Facebook 排行榜的对象,并且可以由 Facebook 即时游戏的所有用户访问和更新。仅使用 Facebook 的服务器可以实现吗?

此时只能通过服务器端集成来完成。 Instant Games 提供了三种存储数据的机制:

排行榜: 根据您的 post 显然您已经在使用这些,但我确实想补充一点,您也可以在排行榜中存储额外的数据作为一个简单的分数。每个分数都可以有一个对象,该对象具有与其关联的键值对以获取更多信息。

FBInstant.getLeaderboardAsync('my_leaderboard')
  .then(function(leaderboard) {
    return leaderboard.setScoreAsync(42, '{race: "elf", level: 3}');
  })

玩家数据:玩家可以为他们存储其他玩家无法访问的数据。

FBInstant.player
  .setDataAsync({
    achievements: ['medal1', 'medal2', 'medal3'],
    currentLife: 300,
  })

玩家统计数据: 玩家还可以为他们存储其他玩家无法访问的统计数据。 player stats 和 player data 之间的主要区别是 stats 支持原子增量操作,并且将来可能会显示在游戏之外(例如在 Facebook 用户的个人资料上)。

FBInstant.player
  .setDataAsync({
    achievements: ['medal1', 'medal2', 'medal3'],
    currentLife: 300,
  })

我们正在考虑的其他类型的数据包括关联到上下文的上下文数据。我们目前不研究添加任何类型的全局数据 blob,因为这些通常有很多同步问题并且不容易被推广。

了解更多关于您的用例的信息,看看我们将来是否可以支持它会很有趣。