在 Android 中使用 Facebook Achievement API

2024-05-08

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

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

这是来自 facebook 的官方文档:https://developers.facebook.com/docs/games/achievements 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 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(当然其他平台也是如此)
    • 该操作可以标记为“显式共享”(https://developers.facebook.com/docs/android/open-graph#apicalls-step4 https://developers.facebook.com/docs/android/open-graph#apicalls-step4)以便直接将其显示在玩家的时间轴上。
    • 为了读取玩家的现有成就,我使用 Graph API 请求从玩家的个人资料中读取某种类型的当前操作。我不需要额外的权限:https://developers.facebook.com/docs/opengraph/using-actions/v2.2#read https://developers.facebook.com/docs/opengraph/using-actions/v2.2#read
    • 由于我将自定义 ID 属性附加到每个操作,因此我可以轻松识别与游戏成就 ID 相关的玩家过去的操作。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Android 中使用 Facebook Achievement API 的相关文章

随机推荐