게임 내 유저의 재화(예. 캐시, 게임 머니) 정보가 변동하면 생성하는 로그입니다.
카테고리
- FTP 방식
파일명 규칙 asset_var_[날짜]_[서버]_[중복방지용id].json (예) asset_var_20180705_111500_GLOBAL-4.json - fluentd 방식 (로그 정의 템플릿)
서버 (2대 로드밸런싱) analytics-hivelog-03.withhive.com
analytics-hivelog-04.withhive.comTAG명 규칙 ha2union.game.[게임명약칭].asset_var_log (예) ha2union.game.samplegame.asset_var_log category 필드 값 [게임명약칭]_asset_var_log (예) {“category”:”samplegame_asset_var_log”,”aaa”:1} 자세한 전송 방법 안내 - http 방식 (로그 정의 템플릿)
서버 https://analytics-log.withhive.com category 필드 값 [게임명약칭]_asset_var_log (예) {“category”:”samplegame_asset_var_log”,”aaa”:1} 자세한 전송 방법 안내
로그 스펙
필드명 | 설명 | 타입 | 필수여부 |
date | 로그 발생 시각 형식: 년-월-일 시:분:초. 한국시간 (KST) 예. 2012-01-19 16:24:00 Scribe/FTP 전송 시 필수, Fluentd 전송 시 선택 |
string | N |
dateTime | 로그 발생 시각 형식: 년-월-일 시:분:초. 한국시간 (KST) 예. 2012-01-19 16:24:00 |
string | Y |
category | [게임 브랜드 이름]_[로그 이름]
게임 브랜드 이름은 app_id의 세 번째 항목 예. “derbyday_asset_var_log” |
string | Y |
timezone | 로그에 입력하는 시간 파라미터 값의 UTC offset 값
|
string | N |
channel | C2S: Hive KAK: 카카오 LIN: 라인 WEI: 웨이보 STE: 스팀 |
string(3) | Y |
channel_uid | 로그인 채널에서의 유저 식별값(주로 bigint를 사용하지만 스트링형을 사용하는 채널들이 있을 수 있음) 라인과 같이 정보를 알수없는 경우는 “0” 으로 전송 |
string(64) | Y |
game | 게임 브랜드 네임을 사용 (예. derbydays). app_id의 세 번째 항목 예) com.com2us.littlelegends.kakao.freefull.apple.global.ios.universal => littlelegends* 같은 게임이라도 app_id의 세 번째 항목이 동일하지 않은 경우가 있기 때문에 game 필드 값은 하나로 통일해서 필수 전송해야 함 예1) com.gamevil.basebss.android.google.global.normal 예2) com.gamevil.basebssent.ios.apple.global.normal => basebss |
string(50) | Y |
server_id | 서버 구분 코드 서버코드표 참조하여 ‘서버 코드(JSON 입력 코드)’를 입력 |
string | Y |
account_id | 서버 내에서 고유한 계정 구분 값 (PK) | bigint | Y |
account_level | 해당 계정의 레벨. 계정 레벨 개념이 없는 경우 0 | int | Y |
character_id | 서버 내에서 사용하는 캐릭터 식별자
– 캐릭터가 없는 게임에서는 캐릭터 식별자를 0으로 설정 |
bigint | Y |
character_type_id | 서버 내에서 사용하는 캐릭터 타입 구분 값 캐릭터가 없는 게임에서는 캐릭터 타입 구분 값을 0으로 설정 |
int | Y |
character_level | 서버 내에서 사용하는 캐릭터 레벨 값. 캐릭터가 없는 게임에서는 캐릭터 레벨 값을 0으로 설정 |
int | Y |
client_ip | 클라이언트의 IP, 이 값으로 GeoIP를 이용하여 country값 추출 | string(32) | Y |
server_ip | 서버의 IP | string(32) | Y |
company | 로그의 대상이 되는 게임 제작 회사: 예) “C2S”: 컴투스, “GVI”: 컴투스홀딩스 |
string(3) | Y |
action_id | 게임에서 유니크한 재화 변동에 관한 유저의 액션 ID, 범위: [1–(2^31−1)]
액션은 게임 상에서 api or protocol로 구분되는 것들로, 각 게임 서버에서는 액션에 대한 ID를 정의 해야 함. 한번 정의 후 변경되면 안됨. 반드시 테스트 필수! |
int | Y |
action_name | action_id에 1:1 매핑되는 값으로, action_id가 다르다면 action_name도 달라야함. (ex:밥주기, 농작물수확 등) 실데이터는 action_id기반으로 쌓임 변경되면 메타테이블에 자동 반영됨 |
string(50) | Y |
item_id | 재화 변동을 발생시킨 아이템 고유 식별자. 재화 변동 액션이 아이템과 연관이 없을 때는 0으로 표기하세요. 범위: [0–(2^31−1)]1부터 시작하는 숫자값으로, 값이 없는 경우 외에는 0이면 안됨 해당 액션이 아이템과 연관이 있을 경우에 필요한 파라미터이며, 각 게임에서 유니크한 아이템의 ID를 정의해야 함 한번 정의 후 변경되면 안됨. 반드시 테스트 필수! |
bigint | Y |
item_name | item_id와 1:1 매핑 되는 값. item_id가 0인 경우는 “0”을 입력하고, 0이 아닌 경우를 제외하고는 설명이 존재해야 함. item_id를 알아보기 쉽도록 간단히 제공하는 설명임 |
string(50) | Y |
item2_id | item_id의 상세 현황을 파악할 목적으로 추가한 item id | bigint | N (19.09.04) |
item2_name | item2_id와 1:1 매핑되는 값. item2_id가 0인 경우는 “0”을 입력하고, 0이 아닌 경우를 제외하고는 설명이 존재해야 함. item2_id를 알아보기 쉽도록 간단히 제공하는 설명임 |
string | N (19.09.04) |
asset_id | 현금성 재화/소셜포인트의 경우(1~100), 비현금성 재화의 경우 (101~) 한번 정의 후 변경되면 안됨. 반드시 테스트 필수! (cf. 현금 구매가능한 재화라 하더라도 구매 보다는 게임 내 획득이 주력인 재화인 경우는 101번 이상으로 세팅) |
int | Y |
asset_name | asset_id에 대한 간단한 설명 (예. bell, star, goldball, gold) | string(50) | Y |
amount_prev | asset_id에 해당하는 재화의 변동 직전 재화량 | bigint | Y |
amount_var | asset_id에 해당하는 재화의 변동량. 재화 감소: 음수, 재화 증가: 양수 |
bigint | Y |
amount_curr | asset_id에 해당하는 재화의 변동 직후 재화량. amount_curr = amount_prev + amount_var |
bigint | Y |
amount_free_prev | asset_id에 해당하는 무상재화의 변동 직전 재화량. (일본 자금 결제법 대상 게임인 경우 필수 전송) |
bigint | N (18.01.18) |
amount_free_var | asset_id에 해당하는 무상재화의 변동량. (일본 자금 결제법 대상 게임인 경우 필수 전송) 재화 감소: 음수, 재화 증가: 양수 |
bigint | N (18.01.18) |
amount_free_curr | asset_id에 해당하는 무상재화의 변동 직후 재화량. (일본 자금 결제법 대상 게임인 경우 필수 전송) amount_free_curr = amount_free_prev + amount_free_var |
bigint | N (18.01.18) |
amount_paid_prev | asset_id에 해당하는 유상재화의 변동 직전 재화량 (일본 자금 결제법 대상 게임인 경우 필수 전송) |
bigint | N (18.01.18) |
amount_paid_var | asset_id에 해당하는 유상재화의 변동량. (일본 자금 결제법 대상 게임인 경우 필수 전송) 재화 감소: 음수, 재화 증가: 양수 |
bigint | N (18.01.18) |
amount_paid_curr | asset_id에 해당하는 유상재화의 변동 직후 재화량. (일본 자금 결제법 대상 게임인 경우 필수 전송) amount_paid_curr = amount_paid_prev + amount_paid_var |
bigint | N (18.01.18) |
market | 마켓 정보 “TS”: SKT T store “OL”: KT Olleh Market “OZ”: LGU+ Oz Store “AP”: Apple App store “GO”: Google Play “SA”: Samsung Apps “LE”: Com2uS Lebi “MM”: ChinaMobile Mobile Market “SN”: Sina Weibo Point “36”: Qihu 360 Point “MO”: Momo Momo Point “DN”: DeNA Mobage Point “NA”: Naver App Store “AM”: Amazon “ON”: ONE store “FU”: Funtap “HU”: Huawei “OP”: OPPO “VI”: VIVO “XI”: 샤오미 “TC”: 텐센트 “HS”: Hive Store(Crossplay) “ST”: Steam |
string(2) | Y |
country | client_ip를 못받아오는 경우 국가값을 직접 입력. ex) KR | string(2) | N |
is_emulator | 블루스택 등 PC용 에뮬레이터로 접속했으면 1, 아니면 0
PC버전으로 접속 시 2 |
tinyint(1) | 필수는 아니지만 권장 |
game_language | 게임 언어. 2글자 소문자. ex) ko Hive 식별자 정책 참고 |
varchar | 필수는 아니만 권장(18.01.18) |
deviceid | Hive did 값. 광고 식별자(Android AdvertisingID, iOS IDFA)를 추상화한 식별자 | bigint | N (18.01.18) |
app_id | Hive에서 사용하는 AppID 예. ‘com.com2us.misample.normal.freefull.apple.global.ios.universal’ |
string(200) | N (19.01.25) |
guid | 매 로그마다 발생하는 고유 키 값 uuid와 같은 랜덤 문자열 형태를 권장 |
varchar(64) | N |
real_count | 실제 소진한 재화 건수 예. 10개 일괄 수령 시 로그는 1개지만 실제 받은 재화는 10개 |
int | Y (19.09.04) |
로그 예제
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
{ "dateTime":"2021-03-19 15:11:39", "category":"[게임명]_asset_var_log", "channel":"C2S", "channel_uid":"100123456", "game":"misample", "server_id":"GLOBAL", "account_id":301611, "account_level":2, "character_id":0, "character_type_id":0, "character_level":0, "action_id":330, "action_name":"\uc774\ubca4\ud2b8", "item_id":330063, "item_name":"\ub808\ubca8\uc5c5\ubcf4\uc0c1", "item2_id":10001, "item2_name":"\ub809\uc5c5\ubcf4\uc0c1", "asset_id":2, "asset_name":"\uc18c\uc6b8\uace8\ub4dc", "amount_prev":122, "amount_var":244, "amount_curr":366, "amount_free_prev":111, "amount_free_var":222, "amount_free_curr":333, "amount_paid_prev":11, "amount_paid_var":22, "amount_paid_curr":33, "game_language":"JP", "deviceid":123456, "market":"GO", "client_ip":"221.234.20.174", "server_ip":"10.3.68.53", "company":"C2S", "app_id":"com.com2us.misample.normal.freefull.apple.global.ios.universal", "guid":"ca4bd34c867f4617a819ae139d8d6670", "real_count":10 } |