文章目录
  1. 1. 需求
  2. 2. 接入方式
    1. 2.1. server-side 接入
    2. 2.2. client-side 接入

需求

我方游戏服务器为一套 Node.js 框架下开发的,手机 App 前端为 JavaScript。现在需要将游戏接入 Facebook,要求能用 Facebook 登陆我方游戏,并可以取到玩家的 Facebook 好友等信息、可以向好友送礼,还可以向玩家 Facebook 增加游戏状态。

如果为前端接入,需要封装出 JS 的接口。

接入方式

需求里涉及到了玩家间的利益交互,如这里的可以向好友送礼。需要确认游戏里这些利益交互(现在的利益可能较弱,但需要考虑将来的利益交互规划)被外挂刷后是否对游戏有影响。

如果影响较大,例如刷了很多物品,让游戏失去平衡——RPG 里可能是装备特牛,休闲游戏可能是道具很多,更有利于冲击排行榜等。就需要将 Facebook 的接入方式定为 server-side 接入。如果影响较小,就无所谓,可以像单机游戏那样在前端做接入,Facebook 的好友信息等由前端传到我们服务器。

server-side 接入

官方的 https://developers.facebook.com/docs/sdks/ 里收录的第三方 Node.js 的 SDK 在 https://github.com/amachang/facebook-node-sdk

这种是 Node.js 开的本地网站,然后本地网站可以开个网址做 Facebook 的接入验证,之后取玩家的 Facebook 信息,可以调封装好的 Facebook API。效果可以开代理看下 http://claw-fb-off.herokuapp.com

但是不知我们服务器的 Node.js 和前端 App 的 JS 之间是否支持这种网页式的交互。咨询了 Node.js 框架组的同学,表示不行,我自己没做过这方面的东西,所以还是要请游戏组同学看看。

另外咨询了众多项目组,做过接入的都是前端接入,还没有做过 server-side 接入的。

client-side 接入

  • 官方提供 Native iOS 和 Android API 的 SDK。
  • 另外也提供 JavaScript SDK(https://developers.facebook.com/docs/reference/javascript/),貌似也是网页形式,不知我们前端是否支持?
  • EziSocial-Plugin 为 C++ 编写,但是这个是收费的,游戏组确认要用吗?
文章目录
  1. 1. 需求
  2. 2. 接入方式
    1. 2.1. server-side 接入
    2. 2.2. client-side 接入