跳转至

发送消费信息

通过从附加服务传输消费信息,应用用户在请求退款时可以将他们的消费行为信息发送到应用市场。

Note

目前,仅支持通过 Apple App Store 传输消费信息。

概述

发送到应用市场的消费者信息还包含仅存在于游戏服务器上的数据。因此,为了让 Hive 服务器将这些数据发送到应用市场,游戏服务器必须将数据传递给 Hive 服务器

游戏服务器 URL 是 游戏服务器为向 Hive 服务器发送数据而打开的 API 端点。在根据下面的协议配置 API 端点并将其注册到游戏服务器 URL 后,每当用户请求退款时,Hive 服务器将向此 API 端点发送 POST 请求,并从游戏服务器接收必要的数据。Hive 服务器汇总这些数据,并代表应用开发者完成消费者信息向应用市场的传输。

总之,整个过程如下。

  1. 应用开发者:通过 配置 API 端点 准备服务器 URL
  2. 应用开发者:在 Hive 控制台中选择 启用消费信息传输 并注册服务器 URL
  3. 应用用户:同意在应用运行时 传输应用内产品消费信息
  4. 应用用户:在应用中请求退款
  5. Hive 服务器:向应用开发者注册的服务器 URL 发送 POST API 请求,接收数据作为响应
  6. Hive 服务器:将消费信息传输到应用市场
Warning

如果应用用户不同意在同意弹窗中传输信息,即使Hive服务器从游戏服务器接收到数据,也不会将数据传输到应用市场。

API 端点配置 (服务器 URL)

要注册到服务器 URL 的 API 端点必须在收到请求时聚合游戏用户特定数据(consumption_statusplay_timerefund_preferencesample_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 数据库通信错误