API การเปิดตัวระยะไกลของ Crossplay Launcher
ภาพรวม¶
API การเรียกใช้ระยะไกลของตัวเปิดเกมข้ามแพลตฟอร์มให้ความสามารถในการสอบถามรายการของพีซีที่กำลังทำงานและเรียกใช้ระยะไกลบนพีซีเฉพาะในกรณีที่เกมปิดโดยไม่ตั้งใจขณะเล่นเกมด้วยตัวเปิดเกมข้ามแพลตฟอร์ม
ประกอบด้วย API ดึงข้อมูลรายการ PC และ API การเรียกใช้ระยะไกล PC
ข้อกำหนดเบื้องต้น¶
- Windows เวอร์ชันของ Hive SDK v4.24.4.0 หรือสูงกว่า
- Crossplay Launcher 1.0.16.0 หรือสูงกว่า
กระบวนการทำงานพื้นฐาน¶
-
ตั้งค่าการใช้งานการรันระยะไกลสำหรับแต่ละเกม
Note
ขณะนี้มีเพียงฟังก์ชันการตั้งค่าการใช้งานการดำเนินการระยะไกลด้วยตนเองที่รองรับเท่านั้น และฟังก์ชันการตั้งค่าอัตโนมัติจะมีให้ในภายหลัง
- เริ่มเกมบน Windows PC ผ่านตัวเปิดข้ามแพลตฟอร์ม
- เรียกใช้ API คำขอรายการ PC ในเกมเพื่อดึงข้อมูลรายการ PC ที่กำลังรันตัวเปิดข้ามแพลตฟอร์ม
- ในผลลัพธ์ของคำขอ ให้เรียกใช้ API การดำเนินการระยะไกลของ PC พร้อมกับข้อมูลของ PC ที่เลือกจากรายการ PC
(โทเค็นการเข้าสู่ระบบอัตโนมัติภายนอกจะถูกส่งไปยัง PC ที่เลือก) - เชื่อมต่อกลับไปยังเกมและดำเนินการเข้าสู่ระบบอัตโนมัติผ่านตัวเปิดข้ามแพลตฟอร์มโดยใช้โทเค็นการเข้าสู่ระบบอัตโนมัติภายนอก
API การดึงรายการ PC¶
นี่คือ API เพื่อดึงรายการของ PC ที่กำลังทำงานอยู่ผ่านตัวเปิดใช้งานข้ามแพลตฟอร์มและสามารถทำการรันระยะไกลได้
Note
- คุณสามารถตรวจสอบผ่าน API Token Verification และเฉพาะคำขอที่ถูกต้องเท่านั้นที่สามารถดึงรายการ PC ได้。
URL และเงื่อนไขการร้องขอ¶
แบ่งประเภท | URL และเงื่อนไข |
---|---|
URL เชิงพาณิชย์ | https://api-launcherplay.withhive.com/api/pc/list |
URL SANDBOX | https://sandbox-api-launcherplay.withhive.com/api/pc/list |
วิธีการ HTTP | POST |
รูปแบบข้อมูล | JSON |
ส่วนหัวคำขอ¶
ชื่อฟิลด์ | คำอธิบาย | ประเภท | จำเป็น |
---|---|---|---|
Content-Type | application/json | String | Y |
Authorization | Bearer token key (Token key ที่ส่งคืนหลังจากเข้าสู่ระบบสำเร็จ) | String | Y |
ตัวอย่างส่วนหัวของคำขอ¶
เนื้อหาคำขอ¶
ชื่อฟิลด์ | คำอธิบาย | ประเภท | จำเป็น |
---|---|---|---|
appId | AppID ของเกมที่เข้าสู่ระบบแล้ว | String | Y |
playerId | V4 PlayerID ที่ผ่านการตรวจสอบสิทธิ์ซึ่งส่งกลับหลังจากการเข้าสู่ระบบที่สำเร็จ | String | Y |
did | DID ที่ส่งกลับหลังจากการเข้าสู่ระบบที่สำเร็จ | String | Y |
ตัวอย่างเนื้อหาคำขอ¶
{
"appId" : "com.com2us.hivesdk.normal.freefull.google.global.android.common",
"playerId" : "20000023036",
"did" : "304166094"
}
เนื้อหาการตอบกลับ¶
ชื่อฟิลด์ | คำอธิบาย | ประเภท | |
---|---|---|---|
code | รหัสผลลัพธ์การตอบกลับ | จำนวนเต็ม | |
msg | ข้อความผลลัพธ์การตอบกลับ | สตริง | |
data | รายการของ PC ที่มีอยู่ | อาร์เรย์ | |
ㄴ | pc_name | ชื่อ PC | สตริง |
ㄴ | did | ข้อมูลอุปกรณ์ | สตริง |
ㄴ | date | วันที่และเวลาล่าสุดที่เข้าสู่ระบบ (UTC, YYYYmmddHHiiss) | สตริง |
ตัวอย่างเนื้อหาการตอบกลับ¶
{
"code": 100,
"msg": "success",
"data": [
{
"pc_name" : "pc1",
"did" : "304162817",
"date": "20250210144909"
},
{
"pc_name" : "pc2",
"did" : "304166094",
"date": "20250210144923"
},
...
]
}
ข้อกำหนดรหัสการตอบกลับ¶
รหัส | ข้อความ | คำอธิบาย |
---|---|---|
100 | สำเร็จ | สำเร็จ |
101 | สำเร็จ(ไม่มีอยู่) | สำเร็จ └ อย่างไรก็ตาม เนื่องจากขณะนี้ไม่มีรายการสำหรับการดำเนินการระยะไกล ข้อมูลจะไม่ถูกส่งกลับ |
400 | ล้มเหลว(ข้อผิดพลาดพารามิเตอร์การอนุญาต) | พารามิเตอร์หัวข้อไม่ถูกต้อง └ การอนุญาต |
401 | ล้มเหลว(ข้อผิดพลาดวิธีการ) | คำขอด้วย HTTP METHOD ที่ไม่ถูกต้อง |
402 | ล้มเหลว(ข้อผิดพลาดพารามิเตอร์คำขอ) | พารามิเตอร์คำขอไม่มีอยู่ |
403 | ล้มเหลว(ข้อผิดพลาดพารามิเตอร์ appId) | พารามิเตอร์ไม่ถูกต้อง └ appId |
404 | ล้มเหลว(ข้อผิดพลาดพารามิเตอร์ playerId) | พารามิเตอร์ไม่ถูกต้อง └ playerId |
405 | ล้มเหลว(ข้อผิดพลาดพารามิเตอร์ did) | พารามิเตอร์ไม่ถูกต้อง └ did |
500 | ล้มเหลว(ข้อผิดพลาด hiveCertificationKey) | ไม่สามารถดึงข้อมูลเกมได้ (Hive คีย์การรับรอง) |
501 | ล้มเหลว(####) | การตรวจสอบเซิร์ฟเวอร์การรับรองอื่นกำลังดำเนินการ เกิดข้อผิดพลาด #### |
502 | ล้มเหลว(####) | การดึงข้อมูลรายการ PC อื่นกำลังดำเนินการ เกิดข้อผิดพลาด #### |
503 | ล้มเหลว(####) | เกิดข้อผิดพลาด #### ขณะเข้าถึง redis สำหรับการดึงข้อมูลรายการ PC |
900 | ล้มเหลว(ข้อผิดพลาด curl - ####) | เกิดข้อผิดพลาด Curl ขณะเรียก API ในขณะที่ตรวจสอบเซิร์ฟเวอร์การรับรอง (เกิดข้อผิดพลาด ####) |
901 | ล้มเหลว(ข้อผิดพลาด api - ####) | การตรวจสอบเซิร์ฟเวอร์การรับรองล้มเหลว (เกิดข้อผิดพลาด ####) |
API การเรียกใช้ระยะไกล PC¶
นี่คือ API ที่ส่งข้อมูลโทเค็นเพื่อดำเนินการจากระยะไกลบน PC ที่เลือกจากรายการ PC ที่ดึงมาได้หลังจากขอ API คำถามรายการ PC
Note
- API นี้จะส่งโทเค็นการเข้าสู่ระบบอัตโนมัติภายนอกไปยัง PC ที่เลือก และการดำเนินการจริงในการเข้าถึงระยะไกล (การเข้าถึงเกมและการเข้าสู่ระบบอัตโนมัติ) จะทำงานผ่านตัวเปิดข้ามเกม
- สามารถใช้ได้เฉพาะเมื่อได้รับการตรวจสอบผ่าน API Token Verification และถือเป็นคำขอที่ถูกต้อง
URL และเงื่อนไขการร้องขอ¶
แบ่งประเภท | URL และเงื่อนไข |
---|---|
URL เชิงพาณิชย์ | https://api-launcherplay.withhive.com/api/pc/remoteplay |
URL SANDBOX | https://sandbox-api-launcherplay.withhive.com/api/pc/remoteplay |
วิธี HTTP | POST |
รูปแบบข้อมูล | JSON |
หัวข้อคำขอ¶
ชื่อฟิลด์ | คำอธิบาย | ประเภท | จำเป็น |
---|---|---|---|
Content-Type | application/json | String | Y |
Authorization | Bearer token key (Token key returned after successful login) | String | Y |
ตัวอย่างหัวข้อคำขอ¶
เนื้อหาคำขอ¶
ชื่อฟิลด์ | คำอธิบาย | ประเภท | จำเป็น |
---|---|---|---|
appId | AppID ของเกมที่ล็อกอินอยู่ | สตริง | ใช่ |
playerId | PlayerID การรับรองความถูกต้อง V4 ที่ส่งกลับหลังจากล็อกอินสำเร็จ | สตริง | ใช่ |
did | DID ที่ส่งกลับหลังจากล็อกอินสำเร็จ | สตริง | ใช่ |
idpUserId | หมายเลขสมาชิกที่จัดเตรียมโดย IDP หลังจากล็อกอินสำเร็จ | สตริง | ใช่ |
idpIndex | ข้อมูล IDP INDEX 1: HIVE 2: Facebook 3: GOOGLE 9: APPLE | จำนวนเต็ม | ใช่ |
selected_did | DID ของ PC ที่เลือกจากผลลัพธ์การค้นหา /api/pc/list | สตริง | ใช่ |
selected_pcName | pc_name ของ PC ที่เลือกจากผลลัพธ์การค้นหา /api/pc/list | สตริง | ใช่ |
ตัวอย่างเนื้อหาคำขอ¶
{
"appId" : "com.com2us.hivesdk.normal.freefull.google.global.android.common",
"playerId" : "20000023036",
"did" : "304166094",
"idpUserId" : "68261324",
"idpIndex" : 1,
"selected_did" : "304162817",
"selected_pcName" : "pc1"
}
เนื้อหาการตอบกลับ¶
ชื่อฟิลด์ | คำอธิบาย | ประเภท |
---|---|---|
code | รหัสผลลัพธ์การตอบกลับ | จำนวนเต็ม |
msg | ข้อความผลลัพธ์การตอบกลับ | สตริง |
ตัวอย่างเนื้อหาการตอบกลับ¶
ข้อกำหนดรหัสการตอบกลับ¶
รหัส | ข้อความ | คำอธิบาย |
---|---|---|
100 | สำเร็จ | สำเร็จ |
400 | ล้มเหลว(ข้อผิดพลาดพารามิเตอร์การอนุญาต) | พารามิเตอร์หัวข้อไม่ถูกต้อง └ การอนุญาต |
401 | ล้มเหลว(ข้อผิดพลาดพารามิเตอร์คำขอ) | พารามิเตอร์คำขอไม่มีอยู่ |
402 | ล้มเหลว(ข้อผิดพลาดพารามิเตอร์ appId) | พารามิเตอร์ไม่ถูกต้อง └ appId |
403 | ล้มเหลว(ข้อผิดพลาดพารามิเตอร์ playerId) | พารามิเตอร์ไม่ถูกต้อง └ playerId |
404 | ล้มเหลว(ข้อผิดพลาดพารามิเตอร์ did) | พารามิเตอร์ไม่ถูกต้อง └ did |
405 | ล้มเหลว(ข้อผิดพลาดพารามิเตอร์ idpUserId) | พารามิเตอร์ไม่ถูกต้อง └ idpUserId |
406 | ล้มเหลว(ข้อผิดพลาดพารามิเตอร์ idpIndex) | พารามิเตอร์ไม่ถูกต้อง └ idpIndex |
407 | ล้มเหลว(ข้อผิดพลาดพารามิเตอร์ selected_did) | พารามิเตอร์ไม่ถูกต้อง └ selected_did |
408 | ล้มเหลว(ข้อผิดพลาดพารามิเตอร์ selected_pcName) | พารามิเตอร์ไม่ถูกต้อง └ selected_pcName |
409 | ล้มเหลว(ข้อผิดพลาดวิธีการ) | คำขอด้วย HTTP METHOD ที่ไม่ถูกต้อง |
500 | ล้มเหลว(ข้อผิดพลาด hiveCertificationKey) | ไม่สามารถดึงข้อมูลเกมได้ (Hive รหัสการรับรอง) |
501 | ล้มเหลว(####) | เกิดข้อผิดพลาดระหว่างการตรวจสอบเซิร์ฟเวอร์ใบรับรอง, #### ข้อผิดพลาด |
502 | ล้มเหลว(ปัจจุบันไม่มีอยู่หรือไม่สามารถใช้งานได้) | ล้มเหลวเนื่องจากข้อมูล PC ที่เลือกไม่ได้เชื่อมต่อในขณะนี้ |
503 | ล้มเหลว(####) | เกิดข้อผิดพลาดขณะเข้าถึง Redis เพื่อตรวจสอบข้อมูล PC ที่เลือก, #### ข้อผิดพลาด |
504 | ล้มเหลว(มีมากกว่า 2 รายการ) | ล้มเหลวหากมีการเชื่อมต่อมากกว่าสองรายการที่ตรงกับข้อมูล PC ที่เลือก └ หมายเหตุ: เกิดขึ้นเมื่อ playerId, did และชื่อ PC ทั้งสามมีค่าเท่ากัน |
505 | ล้มเหลว(####) | เกิดข้อผิดพลาดระหว่างการตรวจสอบข้อมูล PC ที่เลือก, #### ข้อผิดพลาด |
506 | ล้มเหลว(####) | เกิดข้อผิดพลาดขณะได้รับข้อมูลที่เกี่ยวข้องกับโทเค็นการเข้าสู่ระบบอัตโนมัติภายนอก (enc_idp และ web_idp_token), #### ข้อผิดพลาด |
507 | ล้มเหลว(ข้อผิดพลาดการเผยแพร่) | ล้มเหลวในการส่งโทเค็นการเข้าสู่ระบบอัตโนมัติภายนอกไปยัง PC ที่เลือก ᄂ หมายเหตุ: เกิดขึ้นเมื่อจำนวน PC ที่ได้รับข้อความน้อยกว่า 1 (ผลลัพธ์การเผยแพร่ redis) |
508 | ล้มเหลว(####) | เกิดข้อผิดพลาดขณะเข้าถึง Redis เพื่อติดต่อโทเค็นการเข้าสู่ระบบอัตโนมัติภายนอกไปยัง PC ที่เลือก, #### ข้อผิดพลาด |
509 | ล้มเหลว(####) | เกิดข้อผิดพลาดขณะส่งโทเค็นการเข้าสู่ระบบอัตโนมัติภายนอกไปยัง PC ที่เลือก, #### ข้อผิดพลาด |
900 | ล้มเหลว(ข้อผิดพลาด curl - ####) | เกิดข้อผิดพลาดระหว่างการตรวจสอบเซิร์ฟเวอร์ใบรับรอง, เกิดข้อผิดพลาด curl ระหว่างการเรียก API (#### ข้อผิดพลาดเกิดขึ้น) |
901 | ล้มเหลว(ข้อผิดพลาด api - ####) | การตรวจสอบเซิร์ฟเวอร์ใบรับรองล้มเหลว (#### ข้อผิดพลาดเกิดขึ้น) |
902 | ล้มเหลว(ข้อผิดพลาด curl - ####) | เกิดข้อผิดพลาดขณะได้รับค่า enc_idp สำหรับโทเค็นการเข้าสู่ระบบอัตโนมัติภายนอก, เกิดข้อผิดพลาด curl ระหว่างการเรียก API (#### ข้อผิดพลาดเกิดขึ้น) |
903 | ล้มเหลว(ข้อผิดพลาด api - ####) | ล้มเหลวในการได้รับค่า enc_idp สำหรับโทเค็นการเข้าสู่ระบบอัตโนมัติภายนอก (#### ข้อผิดพลาดเกิดขึ้น) |
904 | ล้มเหลว(ข้อผิดพลาด curl - ####) | เกิดข้อผิดพลาดขณะได้รับโทเค็นการเข้าสู่ระบบอัตโนมัติภายนอก (web_idp_token), เกิดข้อผิดพลาด curl ระหว่างการเรียก API (#### ข้อผิดพลาดเกิดขึ้น) |
905 | ล้มเหลว(ข้อผิดพลาด api - ####) | ล้มเหลวในการได้รับโทเค็นการเข้าสู่ระบบอัตโนมัติภายนอก (web_idp_token) (#### ข้อผิดพลาดเกิดขึ้น) |