游戏开发完成后如果需要在别的平台上线,就需要接第三方的SDK。这主要包括登陆和支付者两部分,我当时负责服务端程序的开发。在我所接的这些SDK里,不管是大公司像小米商城、360平台、华为,还是小公司像机锋、当乐,它们登陆和支付的基本流程是一样的,都是采用OAuth 2.0 协议标准授权流程,当然不同的公司会做细节上的修改,但流程基本一致。
登陆
下为某商的登陆流程图
对于服务器来说只需处理第4、5、6三步即可。客户端把通过SDK得到的authorization code,用户输入的账号、密码发送给服务器,然后服务器向厂商服务器验证登陆,根据返回值来确定通知客户端是否登陆成功。
支付
在支付时服务器只需1、5、6三步即可。首先用户在点击支付时客户端会把订单号发送给服务器,也就是第一步。当客户端完成支付后第三方服务器会回掉我所提供的借口,当然需要提前设置。在第五步的回掉完成后,服务器会根据回掉的参数确定支付成功之后将用户所购买的物品发给用户。
注意,这很重要:千万不要随便相信客户端发来的数据。不管是在登录还是在支付的时候,客户端发过来的数据一定要进行验证,最好客户端不发数据,只发事件请求,由服务器根据自己的数据来判断请求是否予以满足,数据由服务器自己到数据库去取,一来可以节省流量,二来节省了验证的过程。尤其是在支付的时候,以防外挂。