⾼效率完成⼀次接⼊80个⼿游渠道SDK——游戏接⼊SDK服务端
篇
.1 概要
通常,游戏开发商并不会只在⼀个渠道上线他们的游戏,接⼊越多的渠道,代表着
可能获取越多的⽤户,但同时也代表着越多的接⼊SDK⼯作量、⼯期和费⽤。⼀款游
戏要有⾜够的⽤户,甚⾄需要接⼊30家以上的各种渠道,以保障⾃⼰的市场覆盖率。
单个SDK接⼊流程在⼀位有经验的全职客户端程序、⼀位全职服务端程序员、⼀位全
职QA处理的情况下,需要3天时间才能完成。因此当⼀款产品⾯对30个甚⾄更多不同
需求的渠道SDK时,⼈员成本和时间成本就会急剧增加。所以我们需要⼀个通⽤接
⼜,来处理各种渠道的需求,这就是统⼀渠道SDK接⼊框架。本部分主要提供平台
SDK服务器与CP⽅游戏服务器交互的接⼜规范
⽀付基本流程
渠道⽀付流程
游戏客户端在每次⽤户点击购买时向服务端请求⽣成内部订单。并需要采⽤特定机制
(例如⼀定时间内禁⽌连续点击购买)防⽌⽤户频繁操作对服务器造成过⾼负载。
游戏服务端⽣成的所有内部订单需要存储待查。并在得到渠道返回的外部订单后异步
处理发货操作并以特定机制通知客户端更新数据显⽰。
渠道⽀付接⼜负责完成货币交易操作,⽣成并存储外部订单,供对账查询使⽤。
SDK服务端转发请求时额外存储⼀份订单⽇志数据,存储内部订单号,外部订单
号及订单状态,供对账及查找BUG时作为参考。
⼀般渠道⽀付流程图
协议说明
通信协议
SDK服务器采⽤HTTP协议作为通信协议,游戏服务器通过构造HTTP请求(POST
⽅式)向SDK服务器发起接⼜请求。
数据协议
请求消息和响应消息的内容都使⽤JSON表⽰数据。
请求与相应内容均采⽤UTF-8字符编码
请求和响应中的签名均使⽤md5哈希进⾏,算法如下:
MD5(签名内容+ ”|”+ apiKey)
说明:
·MD5使⽤RFC1321标准,编码后需转换成全⼩写。
·描述签名的表达式中,”+”表⽰做字符串连接,实际产⽣的待签名字符串中并不
存在。
·签名内容指各接⼜请求数据中若⼲字段的拼接。基本格式为各字段值以”|”符号
分隔后直接连接。注意,由于”|”符号⽤作分隔字段,签名内容中需避免出现该符号,
换⾏符(回车或换⾏)等特殊符号也需要预先剔除。如果对应字段为空,仍然需要保
留“|”符号占位。
·计算MD5签名时,应以UTF8编码取字符串的字节值。
·appid及apiKey由打包⼯具分配,打包⼯具使⽤⽅法请参考使⽤⽂档。
⽰例
假设请求数据为:
“data:{
“id”: 123,
“name”: “test”
“value”: “something”
“other”: “blarblar”
}
要求的签名内容为:
id + name + value
则拼接后得出要签名的内容串为
123|test|something
假定apiKey=,则需要进⾏MD5哈希的字符串为:
123|test|something|
接⼜说明
⽤户会话验证
:http://TypeSDK:PORT/{appid}/{channelid}/Login/
说明:URL中的{appid}代表游戏代码,由打包⼯具⽣成,{channelid}代表渠道代
码,渠道代码列表可以参考打包⼯具说明,可以从客户端提交的参数中获取当前渠道
代码。
例: :40000/1000/1/Login/
⽤⽅式:HTTP POST
⼜描述:
验证⽤户登录结果。
A) 游戏客户端通过SDK客户端的登录动作获取⽤户登录信息。
B) 游戏客户端将获取的⽤户登录信息传送⾄游戏服务端。
C) 游戏服务端通过本请求将⽤户登录信息传送到SDK服务端,验证该登录信息是否
有效。
D) SDK服务端返回验证结果及其他信息,供游戏服务器使⽤。
⽅:游戏服务端
⽅:SDK服务端
(JSON格式):
字段
名称
字段说明类型备注
id ⽤户唯⼀标
识
string 对应渠道的⽤户ID
。并⾮必传,未作说明的情况下传空字符
串。
token ⽤户登录会
话标识
string 本次登录标识。并⾮必传,未作说明的情况下传空字符串。
data 附加信息 JSON 附加信息。并⾮必传,根据渠道不同,该字段含义不同,未
作说明的情况下传空字符串。
MD5(签名内容+ ”|”+ apiKey)
sign 签名参数 string
签名内容:
I
高效率完成一次接入80个手游渠道sdk——游戏接入sdk服务端篇 来自淘豆网m.daumloan.com转载请标明出处.