콘텐츠로 이동

신규 유저 로그

게임에 신규 유저가 발생할 때마다 생성하는 로그로 신규 유저가 발생할 때라 함은 각 게임 서버(server_id)당 계정(user_id)가 생성되었을 때를 의미합니다.

Note

최초 신규 유입 로그 전송 시 반드시 로그인 로그 전송도 함께 HIVE 서버로 전송해야 합니다. 유저 계정이 게임 내에서 초기화 될 때는 user_id가 변하는 것이 아니기 때문에, 이 경우 신규 유저 로그를 전송하지 마세요.

카테고리

  • Scribe 방식
상용 서버 new_user_log
개발 서버 test_new_user_log
  • FTP 방식
파일명 규칙 new_user_[날짜][서버][중복방지용id].json (예) new_user_20180705_111500_GLOBAL-4.json
  • fluentd 방식 (로그 정의 템플릿)
서버 (2대 로드밸런싱) analytics-hivelog-03.withhive.com analytics-hivelog-04.withhive.com
TAG명 규칙 ha2union.game.[게임명약칭].new_user_log (예) ha2union.game.samplegame.new_user_log
category 필드 값 [게임명약칭]_new_user_log (예) {"category":"samplegame_new_user_log","aaa":1}
자세한 전송 방법 안내
  • http 방식 (로그 정의 템플릿)
서버 https://analytics-log.withhive.com
category 필드 값 [게임명약칭]_new_user_log (예) {"category":"samplegame_new_user_log","aaa":1}
자세한 전송 방법 안내

로그 스펙

Note

스네이크 케이스(예: server_id) 형태의 필드는 최종 저장소(BigQuery)에 저장될 때 카멜 케이스(예: serverId) 형태로 변환되며, serverid 같은 스펙에 명시되지 않은 형태로 전송된 로그는 해당 컬럼에 저장되지 않습니다.

필드명 설명 타입 필수여부
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_new_user_log"
string Y
timezone 로그에 입력하는 시간 파라미터 값의 UTC offset 값
  • 기존 scribe/ftp 방식으로 전송할 때 date 값의 기준이 항상 KST이므로 공백 혹은 GMT+09:00로 값을 고정
  • 예. "GMT+09:00"
  • 로그 정의를 fluentd/http 방식으로 전송할 때 dateTime 값에 따라 timezone 값을 동적으로 설정
  • 예. "GMT+10:30"
string Y
channel 로그인 채널
C2S: HIVE
KAK: 카카오
LIN: 라인
WEI: 웨이보
GVL: 게임빌라이브
STE: 스팀
string(3) Y
user_id channel 필드로 설정된 채널에서 사용하는 유저 식별자 C2S: HIVE UI, 로그인센터 적용 게임인 경우 vid KAK: 앱센터에서 발급하는 유저 식별자 LIN: 앱센터에서 발급하는 유저 식별자 bigint Y
app_id HIVE에서 사용하는 AppID
예. 'com.com2us.derbyday.kakao.freefull.google.global.android.common'
string(200) Y
did HIVE에서 사용하는 단말기 식별자(did) 값 bigint Y
client_ip 클라이언트의 IP
이 값으로 GeoIP를 이용하여 country값 추출
string(32) Y
server_ip 서버의 IP string(32) Y
device_name 유저의 단말기 모델명
예. iPhone, iPad, SM-G935, LGM-G600S
string(32) Y
company 로그의 대상이 되는 게임 제작 회사
예. "C2S": 컴투스, "GVI": 컴투스홀딩스
string(3) Y
server_id 서버 구분 코드
서버코드표 참조하여 '서버 코드 (JSON 입력 코드)'를 입력
string Y
server_uid 게임 서버에서 사용하는 유저 식별자 bigint Y
country client_ip를 못받아오는 경우 국가값을 직접 입력
HIVE 식별자 정책 참고
예. KR
string(2) N
os_version OS의 버젼 정보 예. 9.2.1 string(10) 필수는 아니지만 권장
game_language 소문자 두 자로 구성된 게임 언어
HIVE 식별자 정책 참고
예. ko
string(10) 필수는 아니지만 권장
is_emulator 블루스택 등 PC용 에뮬레이터로 접속했으면 1, 아니면 0 PC버전으로 접속 시 2 int 필수는 아니지만 권장
guid 매 로그마다 발생하는 고유 키 값
uuid와 같은 랜덤 문자열 형태를 권장
varchar(64) N

로그 예제

  • 예제 1
{
"dateTime":"2021-10-11 10:57:45",
"category":"[게임명]_new_user_log",
"timezone":"UTC+09:00",
"channel":"HIVE",
"user_id":10053916202,
"app_id":"com.com2us.hivesdk.android.google.global.normal",
"did":5117372451,
"client_ip":"123.45.768.901",
"server_ip":"123.45.678.901",
"device_name":"samsung SM-A125F",
"company":"C2S",
"server_id":"GLOBAL-2",
"server_uid":2571838,
"os_version":"11"
}

활용 예시

  • HIVE 로그에서는 server_id(서버구분)를 알 수 없으므로 NEWUSER_LOG 테이블을 활용하여 보여줍니다.
  • server_id = 1(한국)/2(일본)/3(중국)/4(글로벌)로 구분되며 게임마다 다릅니다.
  • NU : New User (신규 유저 수, user_id 기준)
  • NU(Did) : Device ID 기준 신규 유저 수

  • 서버에 쌓이는 로그를 1시간 마다 오픈 쿼리로 가지고 와서 실시간 유저 현황을 제공합니다.

  • 신규 출시 게임, 마케팅을 집행한 게임 등 유저 유입 현황을 즉시 확인할 목적으로 활용합니다.