API ผู้ใช้พร้อมกัน
Note
วิธีการรวมบันทึกผู้ใช้พร้อมกัน (CCU) ที่จัดเตรียมในรูปแบบ API มีการเปลี่ยนแปลง เนื่องจาก Hive SDK ส่งบันทึกไปยัง API ของเซิร์ฟเวอร์วิเคราะห์จาก Hive SDK v4.14.4 สตูดิโอเกมไม่จำเป็นต้องเรียกจำนวนผู้ใช้พร้อมกันอีกต่อไป แค่ให้ Hive SDK ทำมัน
หลักการพื้นฐานของ CCU API¶
วิธีการสื่อสาร API¶
- CCU API ให้บริการการสื่อสารข้อมูล XML โดยใช้โปรโตคอล HTTP.
- โปรดตรวจสอบให้แน่ใจว่าคุณส่ง XML หลังจากเข้ารหัสเป็น base64.
- วิธีการส่งมีสองวิธี: ส่งข้อความ XML โดยใช้พารามิเตอร์ value เป็นประเภท POST และส่งข้อความไปยัง body โดยไม่มีพารามิเตอร์ใด ๆ.
- PHP cURL เหมาะสำหรับวิธีการส่งข้อความ XML โดยใช้พารามิเตอร์ value.
- C++ หรือ wininet เหมาะสำหรับวิธีการส่งข้อความ XML โดยตั้งค่าข้อมูลโพสต์เป็น body โดยไม่มีพารามิเตอร์ value.
- ผลลัพธ์จะถูกส่งกลับเป็น XML ที่เข้ารหัสเป็น Base64 หากไม่สามารถตรวจสอบผลลัพธ์ได้โปรดตรวจสอบให้แน่ใจว่าคุณส่งใหม่อีกครั้ง.
- ก่อนที่จะเปิดให้บริการให้ทดสอบการเชื่อมต่อบนเซิร์ฟเวอร์ทดสอบ หลังจากเริ่มให้บริการแล้วให้ส่งไปยังเซิร์ฟเวอร์ทั่วไป.
- เซิร์ฟเวอร์ทดสอบควรเชื่อมต่อในขณะที่ให้บริการ.
- ส่ง XML โดยการเรียกใช้ API ทุกๆ สองนาทีต่อชั่วโมง (KST). (เช่น 13:00, 13:02, 13:04 … )
- CCU มีมาตรฐานที่แตกต่างกันตามเซิร์ฟเวอร์เกม.
- เว็บเซิร์ฟเวอร์ส่งหมายเลขเฉพาะของผู้ใช้ที่ร้องขอในช่วงสองนาทีที่ผ่านมา.
- เซิร์ฟเวอร์ Socket ส่งจำนวนผู้ใช้ที่เชื่อมต่อกับเซิร์ฟเวอร์.
การทดสอบ API¶
- เปิด URL ต่อไปนี้เพื่อส่งข้อความที่เข้ารหัสและตรวจสอบผลลัพธ์。
PIC¶
- Com2uS: ทีมเทคโนโลยีข้อมูลแผนกแพลตฟอร์ม แจโฮ มุน (munjaeho@com2us.com)
- อ้างอิง: ทีมเทคโนโลยีข้อมูลแผนกแพลตฟอร์ม 2 (DT@com2us.com)
- คำขอออกคีย์ CCU: ทีมสถาปนิกโซลูชัน (PP_SA@com2us.com)
การส่ง CCU¶
- URL ที่ร้องขอ
URL ทั่วไป | http://api-index.qpyou.cn/modules/gameuser/currentuser/ |
---|---|
URL Sandbox | http://sandbox-api-index.withhive.com/modules/gameuser/currentuser/ |
วิธีการ HTTP | Post |
รูปแบบข้อมูล | XML |
พารามิเตอร์ | value (ไม่ใช้เมื่อส่งข้อมูลโพสต์ไปยังเนื้อหา เช่น C++, wininet) |
- ข้อมูลโพสต์
ชื่อฟิลด์ | คำอธิบาย |
---|---|
เกม | คีย์ที่ใช้แยกแยะเกม โปรดขอการลงทะเบียนที่ PIC เช่น tinyfarm_KR, derbydays_SEA |
เซิร์ฟเวอร์ | ตัวระบุเซิร์ฟเวอร์เมื่อส่งข้อมูลผู้ใช้โดยเซิร์ฟเวอร์ สูงสุด 20 ตัวอักษรที่สามารถใช้เป็นการรวมกันของอักษรและตัวเลข (ตั้งค่า 0 หากไม่สนใจประเภทเซิร์ฟเวอร์) เช่น \ \ \ |
reqkey | คีย์เฉพาะของ CCU คีย์เฉพาะของข้อมูล CCU ที่สร้างโดยเซิร์ฟเวอร์ซึ่งส่งข้อมูล CCU แนะนำให้เข้ารหัสเป็น MD5 reqkey รับประกันกระบวนการซ้ำ |
วันที่ | เวลาที่สร้างข้อมูล CCU รูปแบบ: yyyy-mm-dd hhss (วินาทีแสดงเป็น ‘00’) ตามเวลา KST ประมวลผลทุกสองนาที ระยะห่างของการดำเนินการ API เช่น 2016-06-23 16:24:00 |
ผู้ใช้ | จำนวน CCU |
- การตอบสนอง
ชื่อฟิลด์ | คำอธิบาย |
---|---|
result | รหัสผลลัพธ์ 100=สำเร็จในการบันทึก ดูเพิ่มเติม |
- โทร (Origin XML → base64 encoding → URL encoding)
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 | ข้อผิดพลาด DB |
301 | ข้อมูล CCU และผลรวมของข้อมูลเหมือนกัน เช่น, server01 CCU = 100, server02 CCU = 0 เกิดขึ้นเมื่อผลลัพธ์ของ (server01 CCU)+(server02 CCU) เท่ากับจำนวนของ server01 CCU |
302 | ไม่มีคีย์เกม |