【问题标题】:Using Facebook Achievement API in Android在 Android 中使用 Facebook 成就 API
【发布时间】:2014-11-10 05:09:37
【问题描述】:

我知道这似乎是一个笼统的问题,但要找到有关该主题的信息似乎非常困难,因此如果在某处存在完整的示例\指南\源代码链接,我将不胜感激。

我正在开发一款 Android 游戏,并希望集成 Facebook 成就。 我只想在用户完成某个谜题时分享成就 - 这样它就会显示在他们的提要中并链接到我的应用程序。

这是来自 facebook 的官方文档: https://developers.facebook.com/docs/games/achievements

现在,当我最初开始集成 Facebook SDK 时,我认为读写成就是一件非常简单的事情(对于大多数游戏服务来说都是如此,例如 Google Play)。

但似乎我需要走很长的路——创建一些带有 HTML 元数据的网站,以便 facebook 可以从中读取,定义新的 Open Graph 对象等——对于这样的功能来说,这似乎工作太多了。

我的问题很简单 - 是否有任何清晰、用户友好的指南或示例来说明如何在 Android 游戏中使用 Facebook 成就? 最好不要使用 HTML 元数据托管我自己的网站。

Facebook 文档显然是一场噩梦。对于声称提供如此简单服务的 SDK,我从未如此挣扎过。 (尤其是与 Google Play 游戏服务等同等服务相比时)。

【问题讨论】:

  • 而不是Graph API,因为您只想分享成就并将用户送回您的页面,您是否考虑过插件?参考这里:developers.facebook.com/docs/android/share
  • 我考虑过这一点,但我也想保持每个 Facebook 用户解锁成就的状态。是否可以在不使用成就 API 的情况下使用 Graph API 来做到这一点? (存储每个 Facebook 帐户的游戏相关数据)。
  • 不幸的是,Score API 是存储成就的唯一方法。但是,您可以在不构建 Open Graph 和其他共享方法的情况下拥有 Score API。如果您想让事情变得简单,用户可以享受您应用的排行榜。

标签: android facebook facebook-graph-api facebook-opengraph facebook-android-sdk


【解决方案1】:

我找到了自己的答案。

    • 为了避免在我自己的服务器中存储元标记,我使用 Facebook 的 Object API 创建应用程序拥有的“成就”对象(我自己的自定义类型,而不是内置的“游戏成就”)。 它可以通过对象浏览器完成,使用您的管理员帐户:https://developers.facebook.com/tools/object-browser
    • 我唯一需要托管的是图像(这样我就可以填充图像 URL 字段)。如果我想避免这种情况,我可以直接从我的移动应用将图像上传到 Facebook,并将它们连接到用户拥有的对象(但不是应用拥有的对象)。
    • 现在,我对成就使用自己的自定义操作。我称它为“Solve”(解决一个难题),它有一个自定义 ID 整数字段供我自己使用。我创建了一个自定义故事,将“解决”操作与我的“拼图”(成就)对象联系起来。
    • 动作被定义为“唯一”(不超过一个动作-对象对) - 所以它的行为确实像一个成就。
    • 可以使用 Graph API 发布故事(动作对象): https://developers.facebook.com/docs/android/open-graph (当然,其他平台也是如此)
    • 可以将动作标记为“明确共享”(https://developers.facebook.com/docs/android/open-graph#apicalls-step4),以便直接在玩家的时间轴上显示。
    • 为了读取玩家现有的成就,我使用 Graph API 请求从玩家的个人资料中读取特定类型的当前操作。我不需要额外的权限: https://developers.facebook.com/docs/opengraph/using-actions/v2.2#read
    • 由于我将自定义 ID 属性附加到每个操作,我可以轻松地将玩家过去的操作识别为与我的游戏成就 ID 相关。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多