并发用户 API
Note
如何聚合提供的並發用戶(CCU)日誌,因為API格式已更改。 由於 Hive SDK 從 Hive SDK v4.14.4 開始將日誌發送到分析服務器API,遊戲工作室不再需要調用並發用戶的數量。 只需讓 Hive SDK 自行處理。
CCU API 基礎¶
API 通信方法¶
- CCU API 提供使用 HTTP 協議的 XML 數據通信。
- 確保在編碼為 base64 後發送 XML。
- 發送方法有兩種:使用值參數作為 POST 類型發送 XML 文本,或將文本發送到主體而不帶任何參數。
- PHP cURL 適合使用值參數發送 XML 文本的方法。
- C++ 或 wininet 適合將 POST 數據設置為主體而不使用值參數的方法。
- 結果返回為編碼為 Base64 的 XML。如果無法檢查結果,請確保重新發送。
- 在服務開放之前,請在測試服務器上測試連接。服務啟動後,交付到公共服務器。
- 測試服務器在服務期間應保持連接。
- 每小時每兩分鐘通過實現 API 發送 XML(KST)。 (例如,13:00,13:02,13:04 …)
- CCU 根據遊戲服務器有不同的標準。
- 網頁服務器發送最近兩分鐘請求用戶的唯一編號。
- 套接字服務器發送連接到服務器的用戶數量。
API 測試¶
- 打開以下網址以發送編碼的文本並檢查結果。
PIC¶
- Com2uS: 平台部門數據技術團隊 閔在浩 (munjaeho@com2us.com)
- 參考: 平台部門2 數據技術團隊 (DT@com2us.com)
- 請求發放CCU密鑰: 解決方案架構團隊 (PP_SA@com2us.com)
發送 CCU¶
- 請求網址
常用網址 | http://api-index.qpyou.cn/modules/gameuser/currentuser/ |
---|---|
沙盒網址 | http://sandbox-api-index.withhive.com/modules/gameuser/currentuser/ |
HTTP 方法 | Post |
數據格式 | XML |
參數 | value (在將 post 數據發送到主體時不使用,例如 C++,wininet) |
- 發佈資料
字段名称 | 描述 |
---|---|
game | 区分游戏的关键 确保请求注册到 PIC 例如,发放为 tinyfarm_KR, derbydays_SEA |
server | 发送用户数据时的服务器标识符 最多可用20个字符,由字母和数字组合而成(如果不考虑服务器类型则设置为0) 例如, \ \ \ |
reqkey | CCU的唯一密钥 由发送CCU数据的服务器生成的CCU数据的唯一密钥 推荐编码为MD5 reqkey保证重复处理 |
date | 生成CCU数据的时间 格式:yyyy-mm-dd hhss(秒显示为‘00’) 基于KST,每两分钟处理一次,API实施的间隔 例如,2016-06-23 16:24:00 |
user | CCU的数量 |
- 回應
字段名稱 | 描述 |
---|---|
result | 結果代碼。100=成功保存 查看更多 |
- 呼叫 (原始 XML → base64 編碼 → URL 編碼)
xml version="1.0" encoding="utf-8" ?
tinyfarm_KR
0
c4b40eb7d241654b74ec825976f42618
2016-06-23 16:23:00
1
curl -X
POST -d "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiID8+CjxnYW1ldXNlcj4KPGdhbWU+dGlueWZhcm1fS1I8L2dhbWU+CjxzZXJ2ZXI+MDwvc2VydmVyPgo8cmVxa2V5PmM0YjQwZWI3ZDI0MTY1NGI3NGVjODI1OTc2ZjQyNjE4PC9yZXFrZXk+CjxkYXRlPjIwMTYtMDYtMjMgMTY6MjM6MDA8L2RhdGU+Cjx1c2VyPjE8L3VzZXI+CjwvZ2FtZXVzZXI+Cg==" http://sandbox-api-index.withhive.com/modules/gameuser/currentuser/
- 請求
> POST /modules/gameuser/currentuser/ HTTP/1.1
> Host: sandbox-api-index.withhive.com
> User-Agent: curl/7.55.1
> Accept: */*
> Content-Length: 276
> Content-Type: application/x-www-form-urlencoded
>
PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiID8+CjxnYW1ldXNlcj4KPGdhbWU+dGlueWZhcm1fS1I8L2dhbWU+CjxzZXJ2ZXI+MDwvc2VydmVyPgo8cmVxa2V5PmM0YjQwZWI3ZDI0MTY1NGI3NGVjODI1OTc2ZjQyNjE4PC9yZXFrZXk+CjxkYXRlPjIwMTYtMDYtMjMgMTY6MjM6MDA8L2RhdGU+Cjx1c2VyPjE8L3VzZXI+CjwvZ2FtZXVzZXI+Cg==
- 回應
< HTTP/1.1 200 OK
< Server: nginx/1.8.0
< Date: Wed, 13 Nov 2019 08:54:39 GMT
< Content-Type: text/html; charset=utf-8
< Transfer-Encoding: chunked
< Connection: keep-alive
<
PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiID8+PHJlc3VsdD4zMDI8L3Jlc3VsdD4=
結果代碼¶
代碼 | 描述 |
---|---|
100 | 成功保存 CCU 數據 |
101 | 由於重複請求(重複的 reqkey)未處理 |
200 | 參數錯誤(沒有輸入數據) |
201 | 參數錯誤(缺少必要數據) |
202 | 參數錯誤(輸入數據格式錯誤) |
203 | Base64 編碼錯誤(base64 未編碼) |
204 | 與 Xml 格式不同 |
300 | 數據庫錯誤 |
301 | CCU 數據和數據總和相同 例如,server01 CCU = 100,server02 CCU = 0 當 (server01 CCU)+(server02 CCU) 的結果與 server01 CCU 的數量相同時發生 |
302 | 沒有遊戲密鑰 |