SDK介绍
- H5 SDK用于H5游戏联运,主要提供用户系统、支付系统、游戏攻略、游戏礼包等功能。
- H5 SDK适用于手机浏览器运行类型游戏
注意事项
- 接口参数大小写敏感
- request 和 response的编码格式均为 UTF-8
前期准备
1.SDK接入技术人员仔细阅读该对接文档
2.CP提供游戏入口地址和支付回调地址。
3.提供游戏服务器域名给平台(我方)配置白名单。
4.获取平台配置参数:
字段 | 描述 |
---|---|
app_id | 游戏ID |
app_key | 游戏KEY |
client_id | 客户端ID |
client_key | 客户端KEY |
接入步骤
H5SDK引入
获取JS文件地址 sdk,引入到H5游戏工程中
接口调用
H5 SDK提供对象(DJSDK)供外部使用。
接口说明
1. SDK初始化
DJSDK.qfInitUIAndPay(parameters);
参数说明
参数名 | 类型 | 参数说明 |
---|---|---|
gameid | String | app_id(必传) |
app_key | String | app_key(可传空) |
client_id | String | client_id(可传空) |
client_key | String | client_key(可传空) |
isDebug | boole | 设置开发模式(上线后务必保持false) |
callBack | CallBack | 初始化回调 |
回调说明
callBack: function (result) {
if (result.status == 2) {
console.log("初始化成功,result = " + result.msg);
} else if (result.status == 1) {
console.log("登录成功,result = " + result.data);
}
}
result 字段说明
参数名 | 类型 | 参数说明 |
---|---|---|
status | String | 接口请求状态 |
msg | String | 接口提示 |
data | JsonObject | 登录返回的用户数据(包含toke、mem_id) |
注意:
- 初始化接口实现了自动登录逻辑,当用户有登录记录的情况下,调用初始化接口,会自动执行登录接口,返回状态码是 (result.status == 1)。 所以当接收到的 status等于1时,不需要再调用登录接口,直接获取data数据即可。
完整示例
DJSDK.qfInitUIAndPay({
gameid: "", //必传
app_key: "",
client_id: "",
client_key: "",
isDebug: false,
callBack: function (result) {
if (result.status == 2) {
console.log("初始化成功,result = " + result.msg);
} else if (result.status == 1) {
console.log("登录成功,result = " + result.data);
}
}
});
2. SDK登录
DJSDK.qfCallLoginPanel(parameters);
参数说明
参数名 | 类型 | 参数说明 |
---|---|---|
callBack | CallBack | 登录回调 |
回调说明
callBack: function (result) {
if (result.status == 1) {
console.log("登录成功,result = " + result.data);
}
}
result 字段说明
参数名 | 类型 | 参数说明 |
---|---|---|
status | String | 接口请求状态 |
msg | String | 接口提示 |
data | JsonObject | 登录返回的用户数据(包含toke、mem_id) |
data 字段说明
参数名 | 类型 | 参数说明 |
---|---|---|
a | String | 用户id |
b | String | toke |
c | String | 其他 |
完整示例
DJSDK.qfCallLoginPanel({
callBack: function (result) {
console.log("登录成功 = " + JSON.stringify(result));
}
});
3. 支付
DJSDK.qfPayProduct(parameters);
参数说明
参数名 | 类型 | 参数说明 |
---|---|---|
serverInfo | String | 区服ID((已过时,新版本请使用areaID)) |
productName | String | 产品名称 |
productDiscrible | String | 产品描述 |
roleID | String | 角色ID |
attachString | String | 扩展参数(CP订单号) |
orderId | String | 订单ID(已过时,新版本请使用attachString) |
amount | String | 支付金额 |
areaID | String | 区服ID |
areaName | String | 区服名称 |
roleName | String | 角色名称 |
支付说明
H5 SDK提供二种支付方式(支付宝、微信)。
购买流程:
- 下单,确认订单,选择支付方式。
- 跳转支付页进行支付。
- 支付完成后跳转到首页。
完整示例
DJSDK.qfPayProduct({
serverInfo: "", productName: "产品名称", productDiscrible: "产品明细",
roleID: '角色ID', attachString: 'CP订单号', orderId: "", amount: "0.01",
areaID:'区服ID',areaName: '区服名称',roleName:'角色名称'
})
4. 创角
DJSDK.qfSynchroRoleInfo(parameters);
参数说明
参数名 | 类型 | 参数说明 |
---|---|---|
roleID | String | 角色ID |
roleName | String | 角色名字 |
roleRank | String | 角色等级 |
areaID | String | 区服ID |
areaName | String | 区服名称 |
创角接口说明
在完成初始化并已经获取到SDK实例的情况下,用户创建角色/角色升级时调用。
创角接口在后台提交,为了不影响用户游戏体验,不管上报失败还是成功尽量不要弹出提示。
注:平台需要进行数据分析,因此该接口请务必调用
完整示例
DJSDK.qfSynchroRoleInfo({
roleID: '001', roleName: '小开心', roleRank: '99',
areaID: '区服100', areaName: '测试一区'
})