android - 在 Android 中使用 Facebook 成就 API

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

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

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

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

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

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

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

Facebook 文档显然是一场噩梦。对于声称提供如此简单服务的 SDK,我从来没有像现在这样纠结过。 (尤其是与 Google Play 游戏服务等同等服务相比时)。

最佳答案

我找到了自己的答案。

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

关于android - 在 Android 中使用 Facebook 成就 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26837139/

相关文章:

node.js - Messenger 发送 API + AWS S3 托管对象

android - 如何访问小部件类中的 sqlite 数据库?

android - 保持AlertDialog的DialogInterface打开

Facebook Canvas 身份验证 : No signed_request parameter after redirect

facebook - FB Open Graph : why when my app posts an action on user's wall, 与该操作相关的操作链接未显示在帖子上?

ios - 如果用户在登录后更改了他的 facebook 个人资料详细信息,如何在我的应用程序中更新 facebook 个人资料?

iOS FBSDKShare API shareWithContent 发布失败

php - 无法使用 PHP 将视频上传到 Facebook 页面,但可以使用curl

android - 适用于 Android 和 IOS 的 FFMPEG HLS 流

c# - 卡在 Xamarin AAPT 错误上