同時ユーザーAPI
Note
同時ユーザー(CCU)ログを集約する方法は、API形式が変更されたためです。Hive SDKがHive SDK v4.14.4から分析サーバーAPIにログを送信するため、ゲームスタジオはもはや同時ユーザー数を呼び出す必要はありません。 Hive SDKに任せてください。
CCU APIの基本¶
API通信方法¶
- CCU APIはHTTPプロトコルを使用してXMLデータ通信を提供します。
- XMLをbase64にエンコードした後に送信することを確認してください。
- 送信方法は2つあり、値パラメータをPOSTタイプとして使用してXMLテキストを送信する方法と、パラメータなしでボディにテキストを送信する方法です。
- PHP cURLは、値パラメータを使用してXMLテキストを送信する方法に適しています。
- C++またはwininetは、値パラメータなしでボディにPOSTデータを設定してXMLテキストを送信する方法に適しています。
- 結果はBase64にエンコードされたXMLとして返されます。結果の確認に失敗した場合は、再送信してください。
- サービス開始前に、テストサーバーで接続をテストしてください。サービスを開始した後は、共通サーバーに配信します。
- テストサーバーはサービス中に接続されている必要があります。
- APIを実装してXMLを2分ごとに毎時送信します(KST)。(例:13:00、13:02、13:04 … )
- CCUはゲームサーバーによって異なる基準を持っています。
- ウェブサーバーは、過去2分間のリクエストユーザーのユニーク番号を送信します。
- ソケットサーバーは、サーバーに接続されているユーザーの数を送信します。
APIテスト¶
- 次のURLを開いて、エンコードされたテキストを送信し、結果を確認してください。
PIC¶
- Com2uS: プラットフォーム部門 データ技術チーム ムン・ジェホ (munjaeho@com2us.com)
- 参照: プラットフォーム部門2 データ技術チーム (DT@com2us.com)
- CCUキーの発行依頼: ソリューションアーキテクトチーム (PP_SA@com2us.com)
CCUを送信中¶
- リクエストURL
共通URL | http://api-index.qpyou.cn/modules/gameuser/currentuser/ |
---|---|
サンドボックスURL | http://sandbox-api-index.withhive.com/modules/gameuser/currentuser/ |
HTTPメソッド | Post |
データ形式 | XML |
パラメータ | value (ボディにポストデータを送信する際には使用されません。例: C++, wininet) |
- 投稿データ
フィールド名 | 説明 |
---|---|
game | ゲームを区別するキー PICへの登録をリクエストすることを確認してください 例: tinyfarm_KR、derbydays_SEAとして発行 |
server | サーバーによってユーザーデータを送信する際のサーバー識別子 アルファベットと数字の組み合わせで最大20文字利用可能(サーバータイプを無視する場合は0を設定) 例: \ \ \ |
reqkey | CCUのユニークキー CCUデータを送信するサーバーによって生成されたCCUデータのユニークキー MD5へのエンコーディングを推奨 reqkeyは重複プロセスを保証します |
date | CCUデータを生成する時間 フォーマット: yyyy-mm-dd hhss(秒は‘00’として表示) KSTを基準に、API実装の間隔で2分ごとに処理 例: 2016-06-23 16:24:00 |
user | CCUの数 |
- 応答
フィールド名 | 説明 |
---|---|
result | 結果コード。100=成功して保存 詳細を見る |
- 呼び出し (オリジンXML → base64エンコーディング → URLエンコーディング)
xml version="1.0" encoding="utf-8" ?
tinyfarm_KR
0
c4b40eb7d241654b74ec825976f42618
2016-06-23 16:23:00
1
curl -X
POST -d "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiID8+CjxnYW1ldXNlcj4KPGdhbWU+dGlueWZhcm1fS1I8L2dhbWU+CjxzZXJ2ZXI+MDwvc2VydmVyPgo8cmVxa2V5PmM0YjQwZWI3ZDI0MTY1NGI3NGVjODI1OTc2ZjQyNjE4PC9yZXFrZXk+CjxkYXRlPjIwMTYtMDYtMjMgMTY6MjM6MDA8L2RhdGU+Cjx1c2VyPjE8L3VzZXI+CjwvZ2FtZXVzZXI+Cg==" http://sandbox-api-index.withhive.com/modules/gameuser/currentuser/
- リクエスト
> POST /modules/gameuser/currentuser/ HTTP/1.1
> Host: sandbox-api-index.withhive.com
> User-Agent: curl/7.55.1
> Accept: */*
> Content-Length: 276
> Content-Type: application/x-www-form-urlencoded
>
PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiID8+CjxnYW1ldXNlcj4KPGdhbWU+dGlueWZhcm1fS1I8L2dhbWU+CjxzZXJ2ZXI+MDwvc2VydmVyPgo8cmVxa2V5PmM0YjQwZWI3ZDI0MTY1NGI3NGVjODI1OTc2ZjQyNjE4PC9yZXFrZXk+CjxkYXRlPjIwMTYtMDYtMjMgMTY6MjM6MDA8L2RhdGU+Cjx1c2VyPjE8L3VzZXI+CjwvZ2FtZXVzZXI+Cg==
- 応答
< HTTP/1.1 200 OK
< Server: nginx/1.8.0
< Date: Wed, 13 Nov 2019 08:54:39 GMT
< Content-Type: text/html; charset=utf-8
< Transfer-Encoding: chunked
< Connection: keep-alive
<
PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiID8+PHJlc3VsdD4zMDI8L3Jlc3VsdD4=
結果コード¶
コード | 説明 |
---|---|
100 | CCUデータの保存に成功 |
101 | 重複リクエストのため処理されませんでした(重複reqkey) |
200 | パラメータエラー(入力データなし) |
201 | パラメータエラー(必要なデータなし) |
202 | パラメータエラー(形式が間違った入力データ) |
203 | Base64エンコーディングエラー(base64がエンコードされていない) |
204 | Xmlとは異なる形式 |
300 | DBエラー |
301 | CCUデータとデータの合計が同じ 例:server01 CCU = 100, server02 CCU = 0 (server01 CCU)+(server02 CCU)の結果がserver01 CCUの数と同じ場合に発生 |
302 | ゲームキーなし |