ส่งข้อมูลการบริโภค
การใช้ การส่งข้อมูลการบริโภคจากบริการเพิ่มเติม เมื่อผู้ใช้แอปขอคืนเงิน คุณสามารถส่งข้อมูลพฤติกรรมการบริโภคของผู้ใช้ไปยังตลาดแอป API นี้ช่วยให้เซิร์ฟเวอร์ Hive สามารถส่งคำขอไปยังเซิร์ฟเวอร์แอปของนักพัฒนา และเซิร์ฟเวอร์ของนักพัฒนาจะส่งการตอบกลับไปยังเซิร์ฟเวอร์ Hive
Note
ขณะนี้ การส่งข้อมูลการบริโภคสนับสนุนเฉพาะโดย Apple App Store เท่านั้น
ภาพรวม¶
ข้อมูลผู้บริโภคที่จะส่งไปยังตลาดแอปยังมีข้อมูลที่มีอยู่เฉพาะบนเซิร์ฟเวอร์เกม ดังนั้นเพื่อให้เซิร์ฟเวอร์ Hive ส่งข้อมูลนี้ไปยังตลาดแอป เซิร์ฟเวอร์เกมต้องส่งข้อมูลไปยังเซิร์ฟเวอร์ Hive。
URL ของเซิร์ฟเวอร์เกมคือ จุดสิ้นสุด API ที่เปิดโดยเซิร์ฟเวอร์เกม เพื่อให้เซิร์ฟเวอร์เกมส่งข้อมูลไปยังเซิร์ฟเวอร์ Hive หลังจากกำหนดค่าจุดสิ้นสุด API ตามโปรโตคอลด้านล่างและลงทะเบียนกับ URL ของเซิร์ฟเวอร์เกม เซิร์ฟเวอร์ Hive จะส่งคำขอ POST ไปยังจุดสิ้นสุด API นี้ทุกครั้งที่ผู้ใช้ขอคืนเงินและจะได้รับข้อมูลที่จำเป็นจากเซิร์ฟเวอร์เกม เซิร์ฟเวอร์ Hive จะรวมข้อมูลนี้และทำการส่งข้อมูลผู้บริโภคไปยังตลาดแอปในนามของนักพัฒนาแอป
สรุปได้ว่าทั้งหมดนี้เป็นกระบวนการดังต่อไปนี้
- นักพัฒนาแอป: เตรียม URL เซิร์ฟเวอร์โดย กำหนดค่า API endpoint
- นักพัฒนาแอป: เลือก เปิดใช้งานการส่งข้อมูลการบริโภค ในคอนโซล Hive และลงทะเบียน URL เซิร์ฟเวอร์
- ผู้ใช้แอป: ตกลงที่จะ ส่งข้อมูลการบริโภคผลิตภัณฑ์ในแอป ขณะที่แอปกำลังทำงาน
- ผู้ใช้แอป: ขอคืนเงินในแอป
- เซิร์ฟเวอร์ Hive: POST API request ไปยัง URL เซิร์ฟเวอร์ที่ลงทะเบียนโดยนักพัฒนาแอป รับข้อมูลเป็นการตอบกลับ
- เซิร์ฟเวอร์ Hive: ส่งข้อมูลการบริโภคไปยังตลาดแอป
Warning
หากผู้ใช้แอปไม่ ตกลงในการส่งข้อมูลในหน้าต่างการยินยอม เซิร์ฟเวอร์ Hive จะไม่ส่งข้อมูลไปยังตลาดแอป แม้ว่าจะได้รับข้อมูลจากเซิร์ฟเวอร์เกมก็ตาม
การกำหนดค่าจุดสิ้นสุด API (URL เซิร์ฟเวอร์)¶
API endpoint ที่จะลงทะเบียนกับ URL ของเซิร์ฟเวอร์ต้องรวมข้อมูลเฉพาะของผู้ใช้เกม (consumption_status, play_time, refund_preference, sample_content_provided) เมื่อมีการรับคำขอ และตอบกลับด้วยข้อมูลที่รวมกันซึ่งสามารถเรียกดูได้โดยใช้ข้อมูลผู้ใช้ (CS_CODE) ในพารามิเตอร์คำขอ 
ปิดกฎไฟร์วอลล์¶
การปิดกฎไฟร์วอลล์ขาเข้าช่วยให้การสื่อสาร API ระหว่างเซิร์ฟเวอร์เกมและเซิร์ฟเวอร์ Hive เป็นไปได้ คุณต้องปิดกฎไฟร์วอลล์ขาเข้าสำหรับที่อยู่ IP ด้านล่างบนเซิร์ฟเวอร์เกม
| Hive ประเภทเซิร์ฟเวอร์ | ที่อยู่ IP | 
|---|---|
| IP เชิงพาณิชย์ | 43.201.165.236 | 
| IP Sandbox | 43.155.181.83 | 
หลังจากปิดกฎไฟร์วอลล์แล้ว โปรดดูข้อมูลด้านล่างเพื่อกำหนดค่า API endpoint
การกำหนดค่า API request (Hive server → game server)¶
นี่คือข้อมูลการร้องขอ POST ที่ส่งจากเซิร์ฟเวอร์ Hive ไปยังเซิร์ฟเวอร์เกม
| ข้อมูล API | คำอธิบาย | 
|---|---|
| วิธีการ | POST | 
| รูปแบบการตอบสนอง | JSON | 
| ประเภทเนื้อหา | application/json | 
ข้อมูลใน Request Body มีดังนี้
| ชื่อ | ประเภท | จำเป็น (จำเป็น: M, ไม่จำเป็น: O) | คำอธิบาย | 
|---|---|---|---|
| gameindex | สตริง | M | Hive App Center Game Index | 
| appid | สตริง | M | Hive App Center AppID | 
| user_seq | สตริง | M | รหัสผู้ใช้ในเกม | 
ต่อไปนี้คือตัวอย่างของ Request Body.
{
    "gameindex": "539",
    "appid": "com.com2us.hivesdk.normal.freefull.apple.global.ios.universal",
    "user_seq": "222333"
}
การตอบสนอง API (เซิร์ฟเวอร์เกม → Hive เซิร์ฟเวอร์) การกำหนดค่า¶
นี่คือข้อมูลค่าการตอบสนองที่ต้องส่งจากเซิร์ฟเวอร์เกมไปยังเซิร์ฟเวอร์ Hive เมื่อการตอบสนองสำเร็จ
| ชื่อ | ประเภท | จำเป็น (จำเป็น: M, ไม่จำเป็น: O) | คำอธิบาย | 
|---|---|---|---|
| รหัส | จำนวนเต็ม | M | รหัสการตอบกลับ (100: สำเร็จ) | 
| ข้อความ | สตริง | M | ข้อความผลลัพธ์ตามรหัสการตอบกลับ | 
| ข้อมูล | วัตถุ | M | ข้อมูลการตอบกลับ (จะส่งคืนเฉพาะเมื่อการตอบกลับสำเร็จ ไม่ส่งคืนในกรณีเกิดข้อผิดพลาด) | 
| ┕ สถานะการบริโภค | จำนวนเต็ม | M | สถานะการบริโภคของรายการที่บริโภคได้ ("0" หรือ "3" ต้องเลือกเป็นค่าตอบกลับที่คงที่) | 
| ┕ เวลาเล่น | จำนวนเต็ม | M | เวลาเล่นเกม | 
| ┕ ความชอบการคืนเงิน | จำนวนเต็ม | M | ความชอบการคืนเงิน | 
| ┕ สถานะเนื้อหาตัวอย่างที่ให้ | จำนวนเต็ม | M | สถานะเนื้อหาตัวอย่างที่ให้ | 
ต่อไปนี้คือตัวอย่างของค่าการตอบกลับเมื่อการตอบกลับสำเร็จ
// success
{
    "code": 100,
    "message": "OK",
    "data": {
        "consumption_status": 0,
        "play_time": 1,
        "refund_preference": 2,
        "sample_content_provided": 0
    }
}
ต่อไปนี้คือตัวอย่างของค่าการตอบกลับในกรณีที่การตอบกลับล้มเหลว
// Errors due to wrong parameters
{
    "code": 400,
    "message": "No parameter, or invalid parameter name."
}
// Errors due to invalid user information
{
    "code": 200,
    "message": "No data, or invalid cs_code."
}
นี่คือรหัสการตอบสนอง
| รหัส | คำอธิบาย | 
|---|---|
| 100 | สำเร็จ | 
| 200 | ข้อมูลผู้ใช้ไม่ถูกต้อง (CS_CODE) | 
| 400 | ข้อผิดพลาดของพารามิเตอร์คำขอ | 
| 401 | ข้อผิดพลาด JSON ของคำขอ | 
| 500 | ข้อผิดพลาดในการประมวลผลเซิร์ฟเวอร์ | 
| 501 | ข้อผิดพลาดในการสื่อสารกับฐานข้อมูล |