2014-10-09 110 views
0

我最近发现一个奇怪的行为,那就是Facebook SDK for Unity(v6.0.0),它会使用旧的Graph API(1.0)查询FB应用程序ID是在2014年4月30日之前创建的。旧版App ID(Facebook Unity SDK 6.0.0)上的图形API版本

据我所知,基于此行为的有限文档,SDK将在2015年4月30日后自动实施新的2.0 API。如果假设API响应格式的确如此不变。不过,我注意到有在我/权限列表查询一个改变,这给依赖于应用类型非常不同的反应提供:

  1. 当使用APP ID创建以前 2014年4月30日,响应格式是使用图表API 1.0的格式。
  2. 当使用APP ID创建AFTER 2014年4月30日,响应格式为2.0

这是一个非常奇数和混乱行为。这意味着目前,即使我将Facebook SDK升级到最新版本,它也会一直通过Graph API 1.0进行查询?在2015年4月30日截止日期之前,我应该如何升级我的游戏以支持新的2.0 API?

现在,如果我修复我的代码以解析2.0文档中描述的响应数据,它将永远不会用于2014年4月30日之前我已发布的应用程序,并且只会打破它。

所以问题是,有没有办法强制SDK使用2.0 API?恕我直言,这整个汽车API版本选择基于APP ID的东西感觉迟钝和毫无意义。 Facebook应该强制执行,以便新的SDK始终使用新的API。我们的开发人员将知道如何自行解决问题并为我们的用户发布新的更新。

回答

0

通过将版本作为图形API调用的一部分传递,可以强制版本高于应用版本。 https://graph.facebook.com/V2.0/ME /权限

您可以用图形Explorer工具测试:https://developers.facebook.com/tools/explorer 尝试在下拉“无版本”和我/权限的边缘 - 一个1.0应用程序,你得到的是旧格式对于2.x应用程序,您将获得新的格式。现在将版本下拉菜单切换到2.x并重复。应该都是2.x格式。

+0

您现在还可以覆盖开发人员仪表板中测试用户的版本。看看这个指南https://developers.facebook.com/blog/post/2014/12/18/making-it-easier-to-upgrade-to-api-v2.x/ – boinged 2014-12-19 10:46:30