コンテンツにスキップ

同時ユーザー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テスト

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を設定)
例:
\0\ → 可能
\1\ → 可能
\tinyfarm01\ → 可能
reqkey CCUのユニークキー
CCUデータを送信するサーバーによって生成されたCCUデータのユニークキー
MD5へのエンコーディングを推奨
reqkeyは重複プロセスを保証します
date CCUデータを生成する時間
フォーマット: yyyy-mm-dd hh🇲🇲ss(秒は‘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 ゲームキーなし