SDK接入主要是接第三方平台的登录和支付流程,以手机游戏为例,第三方平台就是国内较大的游戏中心和手机应用商店。
游戏商开发手机游戏的流程:
1、开发完游戏逻辑—2、接入第三方SDK渠道的登录和支付,并且和第三方联调完成后打包客户端——3、客户端上传到第三方游戏平台—4、第三方游戏平台审核通过后上架到游戏中心或者手机应用商店供玩家下载——5、玩家安装客户端后采用滚服的方式来分散玩家,同时每个服每周更新新的活动—6、玩家支付,会根据手机的渠道类型调用对应的第三方SDK支付工具进行支付,然后返回支付信息给游戏商的支付服确认支付信息,游戏商支付服确认支付信息完成后调用游戏服发放充值道具。
注意:
1、客户端一般都是定义一个抽象的SDK接入接口,然后不同渠道的SDK接入到客户端时都实现这个接口。
2、目前出现较多的专门做SDK接入的公司和机构,这种统一的SDK接入渠道有:棱镜sdk,AnySDK,易接,U8SDK(第三方渠道SDK接入框架)。但是统一的SDK接入渠道并不能支持所有的SDK接入,所有不支持的SDK还是需要游戏商自己去接入。
3、统一的SDK接入框架相当于是将游戏客户端接入到一个代理SDK接入的工具上,这个工具会自动帮你登录和支付的接入,从而简化流程。
4、但是带来的问题就是游戏商的登录和支付玩家数据要走代理SDK接入的工具,这样就会让除游戏平台和游戏商之外的专门做SDK接入代理的公司掌握你的游戏玩家数据。棱镜sdk,AnySDK,易接三大公司都是这样的模式。 但是不一样的是U8SDK,U8SDK是代码完全开源的,也就是说游戏商可以下载到这个SDK接入代理工具的所有源码,在自己的游戏商本地搭建一个U8SDK服务器,这样数据走的就是自己的U8SDK服务器,不会担心泄露的问题。
一、Nubia的登录流程:
说到接SDK的登录验证,就不得不介绍一下cookies和Session 的工作机制。
手机游戏的登录过程:
手机游戏的用户账户信息主要是由SDK也就是第三方游戏平台提供。SDK客户端是封装在客户端里面的。手机游戏包里面用的都是SDK客户端的登录页面,游戏本身没有登录机制
1、游戏客户端在SDK客户端上注册账户信息,SDK客户端发送请求把用户名和密码给SDK服务器,SDK服务器收到后和数据库中信息进行验证,验证通过后,将用户账户信息存入session中,并生成唯一标示sessionId。然后SDK服务器返回响应给客户端验证是否通过和sessionId。
2、SDK客户端拿到sessionId,因为游戏客户端和SDK客户端是封装在一起的,所以也相当于游戏客户端拿到SessionId。客户端将SessionId存放在本地的cookies中。
以上就完成整个注册和第一次的登陆过程。
3、用户第二次打开客户端登录页面(登录页面尚未加载完)时,客户端发送请求给游戏服务器请求登录,此时会将cookies中的数据作为请求的一个字段发送给游戏服务器。也就是发送uid(unionId--渠道Id)和sessionId给游戏服务器。
以下部分就是游戏服务器登录流程要做的工作。
4、游戏服务器将uid和SessionId,MD5编码成签名sign字段(编码成sign字段的目的是防止在发送请求的过程中uid和sessionId被篡改),发给SDK服务器校验。
校验session接口 |
调用方法 |
HTTP Post |
||
请求方 |
CP服务端(游戏服务端) |
|||
响应方 |
SDK服务端 |
|||
同步or异步 |
同步 |
|||
请求字段 |
||||
字段名称 |
字段类型 |
必填 |