消費情報を送信する
追加サービスからの消費情報を送信することを使用して、アプリユーザーは返金をリクエストする際に、アプリ市場に自分の消費行動情報を送信できます。
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) | 説明 |
---|---|---|---|
コード | 整数 | 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 | DB通信エラー |