[ 玩转 LeanCloud ] 开发者经验分享:
作者:Dillon
我们做的是 VR 社交产品, 叫《 VR Triber 》,目前已在 Steam 上线。客户端采用 Unity 开发,后端数据存储、实时通信、推送和云服务基于 LeanCloud 开发,后期准备在我们移动端的产品全面接入 LeanCloud,通过这样一个跨平台的后端服务把整套产品线系统都连接起来。下面来分享一下我们在游戏开发过程中遇到一些难题和解决方法。
首先一个问题就是游戏的用户登录界面,我们希望让游戏登录与《王者荣耀》一样便捷,这是我们团队也可能是国内大部分游戏团队都要解决的硬性需求。《王者荣耀》的登录是跟微信生态圈绑在一起的,我们的游戏目标平台是 Steam,总所周知,它的体量也不小,海外的 VR 或者说是 PC 玩家都会拥有一个 Steam 账号,既然如此,我们就得让用户们可以使用 Steam 账号来登录我们的游戏。
我们在前期调研的时候,如果自己做一套 OAuth 回调授权,然后自己去做用户的绑定以及创建,感觉应该会有云服务做了这件事情。恰好这时前同事向我推荐了 LeanCloud,并特意指出我们的游戏如果想在 Steam 上架,刚好 LeanCloud 在美国也有公有云集群可以使用。于是我们迅速调研了一下 LeanCloud 的 Unity3D SDK,它支持任意的第三方 OAuth 授权信息登录,并且会自动为新用户分配一个 id,如果是老用户就会直接转为登录,省去了很大一部分去纠结区分登录和注册的判断,一下子好感度倍增。然后我们把玩家数据表也存在了 LeanCloud 的美国集群上,当然我们平时开发用的是国内的测试账号,但是完全不影响,因为美国和国内的节点功能是同步。
其实那位同事早在 2014 年就推荐给我 LeanCloud,一开始我们认为这种云服务都活不长久,没想到 2017 年初 LeanCloud 仍然还在,而且听说业务还不错,这就让我们有信心使用了。等到我们真正开始接入 LeanCloud 的时候,才感悟到之前写了那么多的服务端代码,真是有点太浪费我们的青春了。
当然在后续的开发过程也波折不断,我们总会因为文档没看全、代码漏写参数或是网络波动等问题在坑里进进出出。总结下来,最终让我们深度使用 LeanCloud 的主要原因有两个,一是它的功能大而全,像文件存储、MongoDB 存储、实时通信、短信、SNS 登录全都有,其实做一个游戏大概会用到的服务 LeanCloud 都提供了。二是技术支持反馈快。我们是商业版用户,一般出问题先 debug 代码,看文档,不行就直接去工单提,一般半个小时之后都会有第一次回复,然后几次回复之后就能解决问题,时效性不错,这可比官方 QQ 群的响应速度好上一大截。
如果有机会,我们会把 LeanCloud 推荐给所有做独立游戏的团队,只不过我们要推荐新入门的团队最好开通商业版,因为只有商业版客户才可以免费提工单。按我们以往的经验,从官方论坛或是 QQ 群这些免费渠道来获取技术支持的时效性并没有太大保障,所以对于时效性强的项目,还是要考虑在这方面做些投资。
最后想说:哥们,放下你的 Java / PHP 身段,写你 Unity 的代码,别折腾服务端了,等你服务端写完了,你的游戏创意已经被别人实现了……
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.