Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
Z
zw_game_sdk
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
CI / CD
CI / CD
流水线
日程表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
提交
问题看板
Open sidebar
zwwl
zw_game_sdk
Commits
24c283c5
提交
24c283c5
authored
11月 30, 2021
作者:
黄程泽
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
增加服务端上报
上级
05f81544
显示空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
289 行增加
和
6 行删除
+289
-6
H5_SDK对接说明.md
H5_SDK对接说明.md
+149
-5
SDK对接说明.md
SDK对接说明.md
+140
-1
没有找到文件。
H5_SDK对接说明.md
浏览文件 @
24c283c5
# H5
SDK 对接文档-v1.0
# H5
SDK 对接文档-v1.0
...
@@ -68,6 +68,18 @@
...
@@ -68,6 +68,18 @@
请求示例
请求示例
2.5
[
服务端角色上报
](
#sec2.5
)
接口说明
接口地址
请求参数
返回参数
请求示例
3.[
H5 SDK接入
](
#sec3
)
3.[
H5 SDK接入
](
#sec3
)
3.1
[
配置导入H5 SDK
](
#sec3.1
)
3.1
[
配置导入H5 SDK
](
#sec3.1
)
...
@@ -305,6 +317,8 @@ sequenceDiagram
...
@@ -305,6 +317,8 @@ sequenceDiagram
> 小游戏通过 SDK 获得 用户user_token, 游戏服务端需要在用户登录游戏成功后调用登录验证接口,验证user_token是否为有效登录用户会话,SDK 服务端需要通过该接口判断用户是否登录游戏服务 。
> 小游戏通过 SDK 获得 用户user_token, 游戏服务端需要在用户登录游戏成功后调用登录验证接口,验证user_token是否为有效登录用户会话,SDK 服务端需要通过该接口判断用户是否登录游戏服务 。
>
>
> 注意:该接口有调用频率限制,建议游戏服务端在完成用户登录后调用该接口;
> 注意:该接口有调用频率限制,建议游戏服务端在完成用户登录后调用该接口;
>
> 接口需要进行签名,签名方法详见[接口规则](#sec2.1)
##### 接口地址
##### 接口地址
...
@@ -397,6 +411,8 @@ sequenceDiagram
...
@@ -397,6 +411,8 @@ sequenceDiagram
> 上报游戏角色信息到 SDK 服务器;
> 上报游戏角色信息到 SDK 服务器;
>
>
> 选接,客户端或者服务端一个端接入即可;
> 选接,客户端或者服务端一个端接入即可;
>
> 接口需要进行签名,签名方法详见[接口规则](#sec2.1);
##### 接口地址
##### 接口地址
...
@@ -417,16 +433,17 @@ sequenceDiagram
...
@@ -417,16 +433,17 @@ sequenceDiagram
> | :---------------------------------------------------------- | :---- | :----- | :----- | :--------------------------------- |
> | :---------------------------------------------------------- | :---- | :----- | :----- | :--------------------------------- |
> | game_id | true | Int | - | 游戏接入时分配的游戏ID |
> | game_id | true | Int | - | 游戏接入时分配的游戏ID |
> | player_id | true | Int | - | 小游戏登录后由 SDK 返回的player_id |
> | player_id | true | Int | - | 小游戏登录后由 SDK 返回的player_id |
> | os | false | String | - | 操作系统 |
> | role | true | Object | - | 角色信息 |
> | role | true | Object | - | 角色信息 |
> | event | true | String | - | 事件类型 |
> | event | true | String | - | 事件类型 |
> | server_id | true | String | - | 区服ID |
> | server_id | true | String | - | 区服ID |
> | server_name | true | String | - | 区服名称 |
> | server_name | true | String | - | 区服名称 |
> | cp_role_id | true | String | - | 游戏方角色ID |
> | cp_role_id | true | String | - | 游戏方角色ID |
> | role_name | true | String | - | 游戏角色名称 |
> | role_name | true | String | - | 游戏角色名称 |
> | role_level | true |
Int
| - | 角色等级 |
> | role_level | true |
String
| - | 角色等级 |
> | role_vip | false |
Int
| 0 | 角色VIP等级 |
> | role_vip | false |
String
| 0 | 角色VIP等级 |
> | combat_num | false |
Int
| 0 | 角色战力 |
> | combat_num | false |
String
| 0 | 角色战力 |
> | online_time | false |
Int
| 0 | 本次在线时长 |
> | online_time | false |
String
| 0 | 本次在线时长 |
> | sign | true | String | - | 签名 |
> | sign | true | String | - | 签名 |
##### 返回参数
##### 返回参数
...
@@ -519,6 +536,8 @@ sequenceDiagram
...
@@ -519,6 +536,8 @@ sequenceDiagram
##### 接口说明
##### 接口说明
> 需要游戏服务端完成该接口,接收平台充值成功的信息。
> 需要游戏服务端完成该接口,接收平台充值成功的信息。
>
> 接口需要进行签名验证,签名方法详见[接口规则](#sec2.1)
##### 接口地址
##### 接口地址
...
@@ -565,6 +584,131 @@ sequenceDiagram
...
@@ -565,6 +584,131 @@ sequenceDiagram
### 2.5 服务端角色上报<a name="sec2.5"></a>
##### 接口说明
> 游戏服务上报游戏角色信息到 SDK 服务器;选接,如果客户端已上报完整角色信息,可不接;
>
> 此接口与[角色信息上报](#sec2.3)作用一致,建议使用[角色信息上报](#sec2.3);
>
> 接口需要进行签名,签名方法详见[接口规则](#sec2.1)
##### 接口地址
> 【POST】/h5_sdk/role/serverReportV2
##### 请求参数
> **Headers**:
>
> | 参数 | 必选 | 参数值 | 说明 |
> | ------------ | ---- | ---------------- | ---- |
> | Content-Type | true | application/json | |
> **Body:**
>
> | 参数 | 必选 | 类型 | 默认值 | 说明 |
> | :---------------------------------------------------------- | :---- | :----- | :----- | :--------------------------------- |
> | player_id | true | Int | - | 小游戏登录后由 SDK 返回的player_id |
> | os | false | String | - | 操作系统 |
> | role | true | Object | - | 角色信息 |
> | event | true | String | - | 事件类型 |
> | server_id | true | String | - | 区服ID |
> | server_name | true | String | - | 区服名称 |
> | cp_role_id | true | String | - | 游戏方角色ID |
> | role_name | true | String | - | 游戏角色名称 |
> | role_level | true | String | - | 角色等级 |
> | role_vip | false | String | 0 | 角色VIP等级 |
> | combat_num | false | String | 0 | 角色战力 |
> | online_time | false | String | 0 | 本次在线时长 |
> | sign | true | String | - | 签名 |
##### 返回参数
> | 参数 | 必选 | 类型 | 默认值 | 说明 |
> | ----------- | ---- | ------ | ------ | -------- |
> | status_code | true | Int | - | 状态码 |
> | msg | true | STRING | - | 返回信息 |
> | data | | | | |
##### EVENT枚举
> | EVENT | 说明 |
> | -------- | -------- |
> | create | 创建角色 |
> | online | 角色上线 |
> | offline | 角色下线 |
> | level_up | 角色升级 |
> | delete | 删除角色 |
> | recharge | 角色充值 |
> | other | 其他 |
##### 请求示例
```
php
<php
?
public
function
report
(){
$
host =
'https://zyou.wozhangwan.com/api'
;
$
checkLoginUrl =
'/mini_sdk/role/severReport'
;
$
url =
$host.$checkLoginUrl;
$
gameSecret =
"game_secret"
;
$
body =
["player_id"
=
>
1245,
"os" => "windows"
"role" =>[
"event" => 1,
"server_id" =>1,
"server_name" => "区服一",
"cp_role_id" => "roleId",
"role_name" => "角色名称",
"role_level" => "11",
"role_vip" => "0",
"combat_num" => "0",
"online_time" => "0",
]];
$userToken = "user_token";
$body["sign"] = makeSign($body, $gameSecret);
$headers = ["Content-Type:application/json","User-Token:".$userToken];
$response = curl_post($url, $body, $hearders);
}
public function makeSign($params,$gameSecret){
$signStr = '';
ksort($params, SORT_REGULAR);
foreach ($params as $key => $val) {
if (is_array($val)) {
$val = json_encode($val, JSON_UNESCAPED_UNICODE | JSON_THROW_ON_ERROR);
}
$signStr .= $key . '=' . $val . '
&';
}
$signStr .= 'game_secret=' . $gameSecret;
return md5($signStr);
}
public function curl_post($url, $body, $headers){
//初始化
$curl = curl_init ( ) ;
//设置抓取的url
curl_setopt ( $curl , CURLOPT_URL , $url) ;
//设置头文件的信息作为数据流输出
curl_setopt ( $curl , CURLOPT_HEADER , 1 ) ;
//设置获取的信息以文件流的形式返回,而不是直接输出。
curl_setopt ( $curl , CURLOPT_RETURNTRANSFER , 1 ) ;
//设置post方式提交
curl_setopt ( $curl , CURLOPT_POST , 1 ) ;
//设置post参数
curl_setopt ( $curl , CURLOPT_POSTFIELDS , json_encode($body) ) ;
//设置请求头
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
//执行命令
$data = curl_exec ( $curl ) ;
//关闭URL请求
curl_close ( $curl ) ;
//显示获得的数据
return json_decode($data, true);
}
```
## 3. H5 SDK 接入<a name="sec3"></a>
## 3. H5 SDK 接入<a name="sec3"></a>
### 3.1 配置导入H5 SDK<a name="sec3.1"></a>
### 3.1 配置导入H5 SDK<a name="sec3.1"></a>
...
...
SDK对接说明.md
浏览文件 @
24c283c5
# 游戏
SDK 对接文档-v1.0.1
# 游戏
SDK 对接文档-v1.0.1
...
@@ -66,6 +66,18 @@
...
@@ -66,6 +66,18 @@
请求示例
请求示例
2.5
[
服务端角色上报
](
#sec2.5
)
接口说明
接口地址
请求参数
返回参数
请求示例
3.[
小游戏 SDK 接入
](
#sec3
)
3.[
小游戏 SDK 接入
](
#sec3
)
3.1
[
调用 SDK 初始化
](
#sec3.1
)
3.1
[
调用 SDK 初始化
](
#sec3.1
)
...
@@ -594,6 +606,133 @@ sequenceDiagram
...
@@ -594,6 +606,133 @@ sequenceDiagram
> 通知使用的参数格式均为字符串(String)
> 通知使用的参数格式均为字符串(String)
### 2.5 服务端角色上报<a name="sec2.5"></a>
##### 接口说明
> 游戏服务上报游戏角色信息到 SDK 服务器;选接,如果客户端已上报完整角色信息,可不接;
>
> 此接口与[角色信息上报](#sec2.3)作用一致,建议使用[角色信息上报](#sec2.3);
>
> 接口需要进行签名,签名方法详见[接口规则](#sec2.1)
##### 接口地址
> 【POST】/h5_sdk/role/serverReportV2
##### 请求参数
> **Headers**:
>
> | 参数 | 必选 | 参数值 | 说明 |
> | ------------ | ---- | ---------------- | ---- |
> | Content-Type | true | application/json | |
> **Body:**
>
> | 参数 | 必选 | 类型 | 默认值 | 说明 |
> | :---------------------------------------------------------- | :---- | :----- | :----- | :--------------------------------- |
> | player_id | true | Int | - | 小游戏登录后由 SDK 返回的player_id |
> | os | false | String | - | 操作系统 |
> | role | true | Object | - | 角色信息 |
> | event | true | String | - | 事件类型 |
> | server_id | true | String | - | 区服ID |
> | server_name | true | String | - | 区服名称 |
> | cp_role_id | true | String | - | 游戏方角色ID |
> | role_name | true | String | - | 游戏角色名称 |
> | role_level | true | String | - | 角色等级 |
> | role_vip | false | String | 0 | 角色VIP等级 |
> | combat_num | false | String | 0 | 角色战力 |
> | online_time | false | String | 0 | 本次在线时长 |
> | sign | true | String | - | 签名 |
##### 返回参数
> | 参数 | 必选 | 类型 | 默认值 | 说明 |
> | ----------- | ---- | ------ | ------ | -------- |
> | status_code | true | Int | - | 状态码 |
> | msg | true | STRING | - | 返回信息 |
> | data | | | | |
##### EVENT枚举
> | EVENT | 说明 |
> | -------- | -------- |
> | create | 创建角色 |
> | online | 角色上线 |
> | offline | 角色下线 |
> | level_up | 角色升级 |
> | delete | 删除角色 |
> | recharge | 角色充值 |
> | other | 其他 |
##### 请求示例
```
php
<php
?
public
function
report
(){
$
host =
'https://zyou.wozhangwan.com/api'
;
$
checkLoginUrl =
'/mini_sdk/role/severReport'
;
$
url =
$host.$checkLoginUrl;
$
gameSecret =
"game_secret"
;
$
body =
["player_id"
=
>
1245,
"os" => "windows"
"role" =>[
"event" => 1,
"server_id" =>1,
"server_name" => "区服一",
"cp_role_id" => "roleId",
"role_name" => "角色名称",
"role_level" => "11",
"role_vip" => "0",
"combat_num" => "0",
"online_time" => "0",
]];
$userToken = "user_token";
$body["sign"] = makeSign($body, $gameSecret);
$headers = ["Content-Type:application/json","User-Token:".$userToken];
$response = curl_post($url, $body, $hearders);
}
public function makeSign($params,$gameSecret){
$signStr = '';
ksort($params, SORT_REGULAR);
foreach ($params as $key => $val) {
if (is_array($val)) {
$val = json_encode($val, JSON_UNESCAPED_UNICODE | JSON_THROW_ON_ERROR);
}
$signStr .= $key . '=' . $val . '
&';
}
$signStr .= 'game_secret=' . $gameSecret;
return md5($signStr);
}
public function curl_post($url, $body, $headers){
//初始化
$curl = curl_init ( ) ;
//设置抓取的url
curl_setopt ( $curl , CURLOPT_URL , $url) ;
//设置头文件的信息作为数据流输出
curl_setopt ( $curl , CURLOPT_HEADER , 1 ) ;
//设置获取的信息以文件流的形式返回,而不是直接输出。
curl_setopt ( $curl , CURLOPT_RETURNTRANSFER , 1 ) ;
//设置post方式提交
curl_setopt ( $curl , CURLOPT_POST , 1 ) ;
//设置post参数
curl_setopt ( $curl , CURLOPT_POSTFIELDS , json_encode($body) ) ;
//设置请求头
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
//执行命令
$data = curl_exec ( $curl ) ;
//关闭URL请求
curl_close ( $curl ) ;
//显示获得的数据
return json_decode($data, true);
}
```
## 3. 小游戏 SDK 接入<a name="sec3"></a>
## 3. 小游戏 SDK 接入<a name="sec3"></a>
### 3.1 调用 SDK 初始化<a name="sec3.1"></a>
### 3.1 调用 SDK 初始化<a name="sec3.1"></a>
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论