データを収集する
データ収集とは、ログインや財貨獲得のようにゲームプレイや製品使用中にユーザーの行動に関する情報を収集するプロセスを意味します。データ収集はクライアントで行われ、関連APIを呼び出すことで実行されます。収集されたデータはデータ分析の根拠となり、これからパーソナライズされたオファーやAIインゲームショップオファーが作成されます。
基本データをアップロードする
基本データのアップロード方法について説明します。ここには3つの基本的な行動データのみ含まれます。
基本的なユーザー行為として登録、ログイン、購入があります。これらの行動データは、ユーザーの活性度、ログイン頻度、購入者数、収益、平均経歴など、製品に対する核心情報(砂時計型分析としても知られている)を導き出すのに使用されます。これにより、ゲームだけでなく、ウェブサイトをはじめとする一般のソフトウェア製品の活性度と市場性も評価することができます。
リクエスト
リクエスト形式
POST https://api.tentuplay.io/v2021.4/logs HTTP/1.1
Content-Type:application/json
POST https://api.tentuplay.io/v2021.4/logs HTTP/1.1
Content-Type:application/octet-stream
データを圧縮して送信する場合は、リクエストbodyのデータをUTF8でエンコードしてバイト形式で伝達します。 |
Body
{
"players_join": [
{
"player_slug": "TentuPlayer",
"device_unique_id": "{device_unique_id}",
"device_info": "{OS version || Model name || Device type}",
"region": "KR",
"is_tp_debug_mode": 1,
"event_timestamp": 1647504609
}
],
"players_login": [
{
"player_slug": "TentuPlayer",
"app_version": null,
"sdk_version": "2021.4",
"device_unique_id": "{device_unique_id}",
"device_info": "{OS version || Model name || Device type}",
"region": "KR",
"is_tp_debug_mode": 1,
"event_timestamp": 1647504609
}
],
"characters_purchases": [
{
"player_slug":"TentuPlayer",
"character_slug":"_DUMMY_CHARACTER_ID_",
"purchasable_slug":"productSlug",
"purchase_quantity":2.0,
"purchase_unit_price":2.5,
"purchase_total_price":5.0,
"purchase_currency_code":"USD",
"is_ad_remove":true,
"event_timestamp": 1647504609
}
]
}
名前 | 説明 | データ型 | 必須か | 備考 | ||
---|---|---|---|---|---|---|
players_join |
|
|||||
player_slug |
プレイヤーの固有ID |
string |
必須 |
Unity SDKの |
||
device_unique_id |
string |
必須 |
||||
device_info |
クライアントデバイス情報 |
string |
必須 |
形式: |
||
region |
国コード(2桁のアルファベット) |
string |
必須 |
|||
is_tp_debug_mode |
SDKのデバッグモードであるか |
int |
必須 |
有効値: |
||
event_timestamp |
UTC基準のUNIX時間 |
int |
必須 |
|||
players_login |
|
|||||
app_version |
ゲームクライアントのバージョン |
string |
オプション |
デフォルト値: |
||
sdk_version |
SDKバージョン |
string |
必須 |
現在バージョン: |
||
characters_purchases |
|
|||||
character_slug |
プレイヤーキャラクターの固有ID
|
string |
必須 |
Unity SDKの |
||
purchasable_slug |
購入商品の固有区切り文字 |
string |
必須 |
|||
purchase_quantity |
購入商品の数または量 |
double |
必須 |
|||
purchase_unit_price |
購入商品の単価 |
double |
必須 |
|||
purchase_total_price |
購入商品の総価格 |
double |
必須 |
|||
purchase_currency_code |
購入に使用された通貨コード(ISO 4217による3桁のアルファベット) |
string |
必須 |
|||
is_ad_remove |
購入した商品が広告除去商品であるか、広告除去に関連した商品であるかどうか |
boolean |
オプション |
players_join, players_loginやplayers_purchasesに入れるデータがなければ、当該オブジェクトを入れる必要はありません。例えば、以下の例のようにplayers_joinのみ送信できます。
|
テーブル別のコンテンツはリストの形でアップロードされるため、一度に複数アップロードすることができます。例えば、players_purchasesテーブルには、以下のように様々なイベントを入れてアップロードすることができます。
|
レスポンス
成功
HTTP/1.1 200 OK
Content-Type:application/json
{
"status": 200,
"reason": "OK",
"data": {
"default": {},
"cache": {
"cache_players_join": null,
"cache_players_login": null,
"cache_characters_purchases": null
}
}
}
失敗
キー |
説明 |
備考 |
|
---|---|---|---|
status |
reason |
||
403 |
"Method Not Allowed" |
正しくないメソッドを使用する(例えば、POSTではないメソッド) |
|
400 |
"Missing Headers" |
ヘッダーが含まれない |
|
400 |
"Missing TPAuthMode" |
ヘッダーにTPAuthModeキーがない |
|
400 |
"Invalid TPAuthMode" |
TPAuthModeキーに |
|
400 |
"Missing TPClientKey" |
ヘッダーにTPClientKeyキーがない |
|
403 |
"Invalid TPClientKey" |
TPClientKeyキーの値が正しくない |
|
400 |
"Missing Body" |
リクエストbodyがない |
|
400 |
"Missing Content-Type" |
content_typeが含まれない |
|
400 |
"Unsupported Content Type" |
content-typeが正しくない |
有効値: |
詳細データをアップロードする
一般データのアップロード方法について説明します。これには、TentuPlayが使用するすべての行動データが含まれます。
基本行動データを除いた残りの行動データは、主にゲーム内のアイテムやステージ、キャラクターとプレイヤー間の相互作用を分析するのに必要です。これにより、特定ステージのプレイ時間のような付加的なゲーム指標を取得できます。何よりも、これらのデータは指定されたユーザーや特定ユーザーセグメントに特化したパーソナライズされたオファーを作成する材料として使われます。したがって、本人の製品がゲームであり、残存率と売上向上のためにオファーを提供したい場合は、以下の指針に従ってデータをアップロードしてください。
リクエスト
リクエスト形式
POST https://api.tentuplay.io/v2021.4/logs HTTP/1.1
Content-Type:application/json
POST https://api.tentuplay.io/v2021.4/logs HTTP/1.1
Content-Type:application/octet-stream
Body
{
"{オブジェクト名}": [ (1)
{
"{プロパティ名}": "{値}", (2)
...
},
...
],
...
}
1 | JSONのオブジェクトは、データベースのテーブルに該当します。データのアップロードに使用できるすべてのプロパティについては、データアップロード用オブジェクトを参照してください。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2 | JSONのプロパティは、データベースのカラムに該当します。データのアップロードに使用できるすべてのオブジェクトについては、データアップロードの属性を参照してください。各プロパティについての説明は、基本データアップロードでリクエストbodyパラメーターと Unity APIリファレンスの各メソッドでパラメーターセクションをご参照ください。
プロパティリスト
|
{
"players_join": [
{
"player_slug": "TentuPlayer",
"device_unique_id": "{device_unique_id}",
"device_info": "{OS version || Model name || Device type}",
"region": "KR",
"is_tp_debug_mode": 1,
"event_timestamp": 1647504609
}
],
"players_login": [
{
"player_slug": "TentuPlayer",
"app_version": null,
"sdk_version": "2021.4",
"device_unique_id": "{device_unique_id}",
"device_info": "{OS version || Model name || Device type}",
"region": "KR",
"is_tp_debug_mode": 1,
"event_timestamp": 1647504609
},
{
"player_slug": "TentuPlayer",
"app_version": null,
"sdk_version": "2021.4",
"device_unique_id": "99bc8eac57de4b506a4164eef8699b46a37f4f9c",
"device_info": "{OS version || Model name || Device type}",
"region": "KR",
"is_tp_debug_mode": 1,
"event_timestamp": 1647504609
}
],
"characters_login": [], (1)
"characters_purchases": [],
"characters_ads": [],
"characters_quests": [],
"characters_bonuses": [],
"players_characters_change": [],
"characters_stats_change": [],
"characters_custom_ability_change": [],
"players_stages": [],
"characters_stages": [],
"characters_items_infrastructure_play": [],
"characters_items_consumable_play": [],
"characters_items_equipment_play": [],
"characters_items_cosmetic_play": [],
"characters_skills_play": [],
"players_characters_get": [
{
"player_slug": "TentuPlayer",
"character_slug": "_DUMMY_CHARACTER_ID_",
"characterarchetype_slug": "DUMMY_CHARACTER",
"reference_entity": "join",
"reference_category_slug": "JOIN",
"reference_slug": "JOIN",
"event_timestamp": 1647504609
}
],
"characters_currencies_get": [],
"characters_items_infrastructure_get": [],
"characters_items_token_get": [],
"characters_items_consumable_get": [],
"characters_items_material_get": [],
"characters_items_equipment_get": [],
"characters_items_cosmetic_get": [],
"characters_items_randombox_get": [],
"characters_currencies_use": [],
"characters_items_equip": [],
"characters_items_token_use": [],
"characters_items_consumable_use": [],
"characters_items_material_use": [],
"characters_items_randombox_use": [],
"characters_skills_equip": [],
"players_characters_dismiss": [],
"characters_items_dismiss": [],
"characters_levelup": [],
"characters_items_levelup": [],
"characters_skills_levelup": [],
"characters_currencies_deposit": [],
"characters_items_deposit": [],
"characters_currencies_withdraw": [],
"characters_items_withdraw": []
}
1 | あるオブジェクト(テーブル)に入れるデータがなければ、当該オブジェクトを入れる必要はありません。つまり、例("characters_login": [] , "characters_purchases": [] )のように入れなくてもかまいません。 |