跳轉至

并发用户 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

發送 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)
例如,
\0\ → 可行
\1\ → 可行
\tinyfarm01\ → 可行
reqkey CCU的唯一密钥
由发送CCU数据的服务器生成的CCU数据的唯一密钥
推荐编码为MD5
reqkey保证重复处理
date 生成CCU数据的时间
格式:yyyy-mm-dd hh🇲🇲ss(秒显示为‘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 沒有遊戲密鑰