ข้ามไปที่เนื้อหา

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

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 หากไม่สนใจประเภทเซิร์ฟเวอร์)
เช่น
\0\ → เป็นไปได้
\1\ → เป็นไปได้
\tinyfarm01\ → เป็นไปได้
reqkey คีย์เฉพาะของ CCU
คีย์เฉพาะของข้อมูล CCU ที่สร้างโดยเซิร์ฟเวอร์ซึ่งส่งข้อมูล CCU
แนะนำให้เข้ารหัสเป็น MD5
reqkey รับประกันกระบวนการซ้ำ
วันที่ เวลาที่สร้างข้อมูล CCU
รูปแบบ: yyyy-mm-dd hh🇲🇲ss (วินาทีแสดงเป็น ‘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 ไม่มีคีย์เกม