11/08/2024 16:35:55

服务端API

一、接入流程

请在企业微信上联系 MSDK助手

二、后台接入方式

http(rest api)模式,直接 game server 上调用 http 接口进行鉴权及好友关系链拉取的方式

三、总体说明

  1. HTTP/HTTPS接口协议,POST请求;
  2. 请求URL携带固定参数,包括:os、gameid、channelid、version、sig、ts等;
  3. POST body是json串;
  4. 接口中所有的参数都是utf8编码;
  5. 后台接口超时时间为3100ms;

3.1 环境

MSDK_URL:

环境(域名) HTTP内网 HTTPS外网
测试环境 http://hktest.itop.tencent-cloud.net https://hktest.itop.qq.com
国内正式环境 http://itop.tencent-cloud.net https://itop.qq.com / https://ipv6-sh.itop.qq.com
新加坡正式环境 https://sg.itopsdk.com
硅谷正式环境 https://us.itopsdk.com

注意:后台环境与 客户端环境(MSDK_URL) 需要保持一致。

建议后台使用内网域名

MSDK_POP_URL:

环境(域名) HTTPS外网
业务联调环境 https://pop-hktest.itop.qq.com
国内正式环境 https://pop-release.itop.qq.com
新加坡正式环境 https://pop-sg.itopsdk.com

MSDK_PIX_FAAS_HOST:

环境(域名) HTTPS外网
国内环境 https://publicfaas.game.qq.com
海外环境 https://sg.msdkfaas.com

3.2 请求URL

  1. URL格式:http://xxxxx/v2/modulename/interfacename?channelid=1&gameid=11&os=1&source=0&ts=1528097722&version=0.1&sig=xx
    • modulename:功能分类;
    • interfacename:接口名;
  2. 固定参数说明;
参数 类型 描述
os string 【必填】 操作系统标示
1 - Android, 2 - iOS, 3 - Web,4 - Linux, 5 - windows ....
gameid string 【必填】 MSDK分配的游戏id
channelid int 【必填】 登录渠道id
1 - 微信(WeChat),2 - 手Q(mqq),3 - 游客(Guest),4 - Facebook,5 - GameCenter,6 - GooglePlay,7 - IEGPass,9 - Twitter,10 - garena,11 - SelfAccount,12 - EGame,14 - Line,15 - Signin with Apple,19 - VK,21 - steam
ts uint32 【必填】Unix time
version string 表示携带的SDK版本,默认为空( 客户端调用都需要带上!)
sig string 【必填】 签名字段签名算法为md5(path + "?" + params + body + sigkey),
1、path: 接口路径,比如鉴权接口名 /v2/auth/verify_login
2、params:需要两步;a. 除sig之外的接口请求参数(即除sig之外的与当前接口调用中url中的其他参数保持一致),b. 参数按照字典排序
3、body:post的body部分,body部分不需要字典排序,顺序按照接口参数顺序依次传递即可
4、sigkey:sigkey 与 source 字段强相关,MSDK 后台校验 sig 时,取 source 对应的 sigkey 进行 sig 计算,
当source不填或者为0时,对应sigkey使用飞鹰系统参数中的MSDK_SDK_KEY;
当source为1时,对应sigkey使用飞鹰系统参数中的MSDK_SERVER_KEY;
当 source为2时,对应的sigkey使用飞鹰系统参数中的MSDK_MIDAS_KEY;
5、md5 计算
举例:/v2/auth/verify_login?channelid=1&conn=&gameid=11&os=2&seq=&source=0&ts=1556072078&version={"openid":"11219380013689673060","token":"B8D116F42A6A8116398C40AED587195C"}sigkey

可在飞鹰系统>MSDK接入>MSDK工具>V5工具,进行服务端接口调用模拟,然后查看url中系统计算出来的sig值和业务自己计算的sig进行比对验证。

如果后台请求返回 ["ret":1008,"msg":"invalid sig!"],可以使用V5签名工具(飞鹰系统>MSDK接入>MSDK工具>V5签名)进行检查,系统会根据业务自己拼接的 URL 和 PostBody,帮助业务计算出正确的 sig,方便业务排查 sig 计算错误的原因。

消息解密接口(/v2/auth/decrypt) 的签名方法与其他不同,方法为:md5(timestamp+加密数据+sigkey)。
seq string 表示透传的参数,会在返回的json中带上该透传参数,用于调用方异步,只能由英文字母,数字,下划线组成,默认为空
source int 【必填】 访问来源。取值范围:
0或不填 - 客户端,签名密钥使用 MSDK_SDK_KEY 的值,
1 - 后台,签名密钥使用 MSDK_SERVER_KEY 的值
2 - Midas, 签名密钥使用 MSDK_MIDAS_KEY 的值
cgsource string 【云游戏鉴权必填,其他请求不要携带该字段】
示例:cgsource=xxxx

3.3 回包及错误描述

通过http协议发送数据以后,获取状态码,如果为200,则表示请求正常,即可以获取http返回的内容,将json字符串解析成数组。如果不为200,表示请求失败,直接打印结果查看问题。 回包格式如下:

{
"ret":0,
"msg":"user is logged in",
.................
}
  • ret = 0,表示请求成功,可以解析相关返回字段信息;
  • ret != 0,表示请求逻辑失败,msg里面有具体错误信息,没有其它字段返回。



Copyright © 2024 MSDK.
All rights reserved.

results matching ""

    No results matching ""