0%

SDK-Server

sdkserver

聚合sdk
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服务器(U8Server渠道SDK统一用户登录认证中心和支付中心),这样数据走的就是自己的U8SDK服务器,不会担心泄露的问题。

1
2
3
4
5
6
7
8
9
10
手机游戏的登录过程:  
手机游戏的用户账户信息主要是由SDK也就是第三方游戏平台提供。SDK客户端是封装在客户端里面的。手机游戏包里面用的都是SDK客户端的登录页面,游戏本身没有登录机制
1、游戏客户端在SDK客户端上注册账户信息,SDK客户端发送请求把用户名和密码给SDK服务器,SDK服务器收到后和数据库中信息进行验证,验证通过后,将用户账户信息存入session中,并生成唯一标示sessionId。然后SDK服务器返回响应给客户端验证是通过unionid(渠道ID)和sessionId。
2、SDK客户端拿到sessionId,因为游戏客户端和SDK客户端是封装在一起的,所以也相当于游戏客户端拿到SessionId。客户端将SessionId存放在本地的cookies中。
以上就完成整个注册和第一次的登陆过程。
3、用户第二次打开客户端登录页面(登录页面尚未加载完)时,客户端发送请求给游戏服务器请求登录,此时会将cookies中的数据作为请求的一个字段发送给游戏服务器。也就是发送uid(unionId--渠道Id)和sessionId给游戏服务器。
以下部分就是游戏服务器登录流程要做的工作。
4、游戏服务器将uid和SessionId,MD5编码成签名sign字段(编码成sign字段的目的是防止在发送请求的过程中uid和sessionId被篡改),发给SDK服务器校验。
5、SDK服务端根据sessionId找到对应的session,然后验证uuid是否一致。返回校验结果
6、校验正确后,游戏服务器保存用户登录信息到LoginBean中,返回服务器列表给游戏客户端。

www.baidu.com

游戏SDK解释:
手机游戏中sdk接入简单理解就是用他们的平台登录,比如91sdk是91助手平台,360sdk是360平台。
软件开发工具包广义上指辅助开发某一类软件的相关文档、范例和工具的集合。
软件开发工具包是一些被软件工程师用于为特定的软件包、软件框架、硬件平台、操作系统等创建应用软件的开发工具的集合,一般而言SDK即开发 Windows 平台下的应用程序所使用的 SDK。它可以简单的为某个程序设计语言提供应用程序接口 API 的一些文件,但也可能包括能与某种嵌入式系统通讯的复杂的硬件。一般的工具包括用于调试和其他用途的实用工具。SDK 还经常包括示例代码、支持性的技术注解或者其他的为基本参考资料澄清疑点的支持文档。
为了鼓励开发者使用其系统或者语言,许多 SDK 是免费提供的。软件工程师通常从目标系统开发者那里获得软件开发包,也可以直接从互联网下载,有时也被作为营销手段。例如,营销公司会免费提供构建SDK 以鼓励人们使用它,从而会吸引更多人由于能免费为其编程而购买其构件。
SDK 可能附带了使其不能在不兼容的许可证下开发软件的许可证。例如产品供应商提供一个专有的 SDK 可能与自由软件开发抵触。GPL 能使 SDK 与专有软件开发近乎不兼容。LGPL 下的 SDK 则没有这个问题。