发送消费信息
通过从附加服务传输消费信息,应用用户在请求退款时可以将他们的消费行为信息发送到应用市场。
Note
目前,仅支持通过 Apple App Store 传输消费信息。
概述¶
发送到应用市场的消费者信息还包含仅存在于游戏服务器上的数据。因此,为了让 Hive 服务器将这些数据发送到应用市场,游戏服务器必须将数据传递给 Hive 服务器。
游戏服务器 URL 是 游戏服务器为向 Hive 服务器发送数据而打开的 API 端点。在根据下面的协议配置 API 端点并将其注册到游戏服务器 URL 后,每当用户请求退款时,Hive 服务器将向此 API 端点发送 POST 请求,并从游戏服务器接收必要的数据。Hive 服务器汇总这些数据,并代表应用开发者完成消费者信息向应用市场的传输。
总之,整个过程如下。
- 应用开发者:通过 配置 API 端点 准备服务器 URL
- 应用开发者:在 Hive 控制台中选择 启用消费信息传输 并注册服务器 URL
- 应用用户:同意在应用运行时 传输应用内产品消费信息
- 应用用户:在应用中请求退款
- Hive 服务器:向应用开发者注册的服务器 URL 发送 POST API 请求,接收数据作为响应
- Hive 服务器:将消费信息传输到应用市场
Warning
如果应用用户不同意在同意弹窗中传输信息,即使Hive服务器从游戏服务器接收到数据,也不会将数据传输到应用市场。
API 端点配置 (服务器 URL)¶
要注册到服务器 URL 的 API 端点必须在收到请求时聚合游戏用户特定数据(consumption_status
,play_time
,refund_preference
,sample_content_provided
),并响应可以使用请求参数中的用户信息(CS_CODE
)查询的聚合数据。
禁用防火墙规则¶
禁用防火墙入站规则允许游戏服务器与 Hive 服务器之间进行 API 通信。您需要在游戏服务器上禁用以下 IP 地址的防火墙入站规则。
Hive 服务器类型 | IP 地址 |
---|---|
商业 IP | 43.201.165.236 |
沙盒 IP | 43.155.181.83 |
禁用防火墙规则后,请参考以下信息配置API端点。
API请求 (Hive 服务器 → 游戏服务器) 配置¶
这是从 Hive 服务器发送到游戏服务器的 POST 请求信息。
API 信息 | 描述 |
---|---|
方法 | POST |
响应格式 | JSON |
内容类型 | application/json |
以下是请求体信息。
名称 | 类型 | 必需 (必需: M, 可选: O) | 描述 |
---|---|---|---|
gameindex | 字符串 | M | Hive 应用中心游戏索引 |
appid | 字符串 | M | Hive 应用中心AppID |
user_seq | 字符串 | M | 游戏内用户CS代码 |
以下是请求体的示例。
{
"gameindex": "539",
"appid": "com.com2us.hivesdk.normal.freefull.apple.global.ios.universal",
"user_seq": "222333"
}
API 响应 (游戏服务器 → Hive 服务器) 配置¶
这是游戏服务器在响应成功时必须发送到Hive服务器的响应值信息。
名称 | 类型 | 必需(必需:M,选用:O) | 描述 |
---|---|---|---|
code | 整数 | M | 响应代码(100:成功) |
message | 字符串 | M | 根据响应代码的结果消息 |
data | 对象 | M | 响应数据 (仅在响应成功时返回,在出错时不返回) |
┕ consumption_status | 整数 | M | 消耗品的消费状态("0"或"3"必须作为固定值响应选择) |
┕ play_time | 整数 | M | 游戏播放时间 |
┕ refund_preference | 整数 | M | 退款偏好 |
┕ sample_content_provided | 整数 | 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 | 数据库通信错误 |