개요
기본 생성 테이블¶
- 애널리틱스를 사용 시 아래 표에 있는 테이블들은 기본적으로 제공이 됩니다.
- 기본적으로 제공되는 테이블 이외의 테이블이 필요할 경우 [로그 정의]를 참고 하여 테이블을 생성해야 합니다.
- 테이블명은 " t_[로그명]" 입니다.
- 기본 생성 테이블은 플랫폼에서 직접 수집하는 기본 로그와 게임서버에서 전송이 필요한 게임 로그로 구분됩니다.
- 로그명을 클릭하면 테이블별 필드 정보를 확인할 수 있습니다.
로그명 | 테이블 설명 | 로그 발생 시점 |
---|---|---|
hive_purchase_log | Hive 빌링 기능을 통해 발생한 사용자의 구매 활동과 결제 정보를 저장 하는 테이블 | Hive 빌링을 통해 사용자가 게임 내에서 상품을 구매한 이후 영수증 검증이 완료된 시점 |
hive_sub_purchase_log | Hive 빌링 기능을 통해 발생한 구독 상품 구매 활동 과 결제 정보를 저장하는 테이블 | Hive 빌링을 통해 사용자가 게임 내에서 상품을 구매한 이후 영수증 검증이 완료된 시점 |
hive_login_log | Hive 인증 기능을 통해 로그인한 사용자의 로그인 정보를 저장 하는 테이블 | Hive 인증 기능을 통해 유저 인증 완료 후 로그인한 시점 |
hive_quit_log | 인게임 내 에서 탈퇴요청 시 로그가 발생하며 유저의 탈퇴요청, 탈퇴완료 정보를 저장 하는 로그 | 유저가 인게임 내 에서 탈퇴 요청 및 탈퇴 완료 된 시점 |
hive_singular_install | 애널리틱스에서 제공하는 Singular 전용 endpoint URL 통해 다양한 속성의 어트리뷰션 정보를 저장하는 테이블 | 앱 설치 및 실행 , 이벤트 발생 , 앱 세션 시작 및 종료 , 링크 클릭 시점 |
hive_airbridge_log | 애널리틱스와 에어브릿지 연동을 통해 수집된 이벤트 로그를 저장하는 테이블 | 앱 설치 및 실행 , 이벤트 발생 , 앱 세션 시작 및 종료 , 링크 클릭 시점 |
hive_adjust_fix_log | 애널리틱스에서 제공하는 Adjust 전용 endpoint URL 통해 다양한 속성의 어트리뷰션 정보를 저장하는 테이블 | 앱 설치 및 실행 , 이벤트 발생 , 앱 세션 시작 및 종료 , 링크 클릭 시점 |
hive_appsflyer_log | 애널리틱스에서 제공하는 Appsflyer 전용 endpoint URL 통해 다양한 속성의 어트리뷰션 정보를 저장하는 테이블 | 앱 설치 및 실행 , 이벤트 발생 , 앱 세션 시작 및 종료 , 링크 클릭 시점 |
hive_user_entry_log | 유저가 게임을 실행하여 게임 로비에 도착하기까지 각 구간에 대한 정보를 저장하는 테이블 | 신규설치, 약관동의, 추가다운로드, 로그인 등 각 구간에 진입하는 시점 |
hive_au_download_log | Hive 프로비저닝 기능을 통해 약관 동의 화면 이후, 게임을 다운로드 할 경우 다운로드 정보를 저장하는 테이블 | 다운로드 후 약관 동의 시점 |
hive_concurrent_user_log | Hive SDK가 적용된 클라이언트의 접속 정보를 2분 단위로 전송 받아 저장하는 테이블 ※ Hive 콘솔에서 '네트워크 통신 최소화'옵션 활성화시 수집 되지 않습니다. | 로그인 이후 2분 단위로 로그 전송 |
hive_promotion_install_log | Hive 프로모션 기능을 사용 시 수집 되는 프로모션 설치 로그 | 크로스 캠페인 클릭 후, SDK 초기화 시점 |
hive_promotion_click_cross_log | Hive 프로모션 기능을 사용 시 수집 되는 프로모션 클릭 크로스 로그 | 크로스 배너, 오퍼월, UA 초대 페이지 내 다운로드 버튼 클릭 한 시점 |
hive_promotion_cpi_v2_log | Hive 프로모션 기능을 사용 시 수집 되는 프로모션 CPI V2 로그 | 크로스 캠페인 클릭 후, SDK 초기화 시점(최초 설치 한정) |
hive_promotion_open_log | Hive 프로모션 기능을 사용 시 수집 되는 프로모션 오픈 로그 | 프로모션 배너, 오퍼월 스페셜 노출 시점 |
hive_promotion_info | Hive 프로모션 기능을 사용 시 수집 되는 프로모션 정보 | (하이브 콘솔 > 프로모션) 캠페인 수정,생성 시점 |
hive_ad_watch_log | AD(X)나 ADOP 를 적용할 경우 Hive AdKit을 통해 제공되는 광고 시청 로그 | 광고 로드, 시청시작, 보상, 닫음 시점 |
hive_push_open_log | Hive 노티피케이션 기능을 사용 시 유저가 푸시 알림을 오픈한 정보를 저장하는 테이블 | 유저가 캠페인 푸시 알림을 클릭하여 게임에 진입 하는 시점 |
hive_push_send_stat_log | Hive 노티피케이션 기능을 사용 시 푸시 발송 이후 푸시 이벤트에 대하여, D-2일부터 발송된 캠페인에 대한 통계 정보를 저장하는 테이블 | D-2일부터 발송된 캠페인에 대한 정보를 집계한 이후 |
pub_user_property_log | Hive SDK에서 수집한 정보로 사전에 정의한 속성 외에 자유롭게 속성 값을 정의한 커스텀 사용자 속성 테이블 (클라이언트 로그 전송 기능을 이용해 직접 로그를 전송해야 함) | 고객이 정한 속성의 발생 시점 |
pub_mate_log | 메이트 로그 (클라이언트 로그 전송 기능을 이용해 직접 로그를 전송해야 함) | 메이트 획득, 소모 변화 발생 시점 |
pub_levelup_log | 레벨업 로그 (클라이언트 로그 전송 기능을 이용해 직접 로그를 전송해야 함) | 게임 내 유저 계정 또는 캐릭터의 레벨업 시점 |
pub_asset_log | 재화 로그 (클라이언트 로그 전송 기능을 이용해 직접 로그를 전송해야 함) | 재화 획득 또는 소모 시점 |
pub_store_click_log | 상점 클릭로그 (클라이언트 로그 전송 기능을 이용해 직접 로그를 전송해야 함) | 상품 상세 또는 구매 클릭 시점 |
pub_society_log | 사회활동 로그 (클라이언트 로그 전송 기능을 이용해 직접 로그를 전송해야 함) | 길드, 친구, 파티 등의 사회활동 초대, 가입, 추가 등의 변화 발생 시점 |
pub_contents_log | 콘텐츠 로그 (클라이언트 로그 전송 기능을 이용해 직접 로그를 전송해야 함) | 게임 내 콘텐츠(퀘스트, 던전, 스테이지 등) 수락, 실패, 취소, 완료 상태 변경 시점 |
pub_device_info | HIVE SDK 를 통해 사용자의 기기 정보를 수집하는 테이블 (클라이언트 로그 전송 기능을 이용해 직접 로그를 전송해야 함) | Hive SDK 초기화, 로그인, 설정 변경 시점 |
로그 정의¶
- 로그 정의는 Hive 애널리틱스 v2로 게임의 로그를 전송하기 위한 기능입니다.
- 백오피스에서 게임에서 전송하고 싶은 로그를 정의합니다. 정의 후 생성된 소스코드를 게임에 적용하면 해당 로그가 수집됩니다.
- 올바르게 정의가 됐는지, 로그가 수집되는지 즉석에서 확인 할 수 있는 기능을 백오피스에서 제공합니다.
- 백오피스 경로: 애널리틱스 > 로그 정의
- 애널리틱스의 로그 정의 기능은 로그를 전송하기 전, 어떤 필드들을 전송할지 정의 하는 중요한 기능입니다.
- 애널리틱스는 로그 정의 기능은 로그 정의 시 반드시 필요한 필드 와 애널리틱스의 기능을 사용하기 위한 필드 2가지 종류로 구분하여 로그 정의 시 기본적인 필드를 생성합니다.
- 추가적인 필드는 사용자의 필요에 따라 생성하여 사용 할 수 있습니다.
로그 정의 시 반드시 필요한 필드¶
- 아래 표는 애널리틱스에 로그정의 시 반드시 포함되어야 하는 필드들 입니다.
- Hive SDK 클라이언트 로그 전송 기능을 사용하면 해당 필드들은 자동으로 수집 됩니다.
구분 | 필드명 | 설명 | 데이터 타입 | 예시 |
---|---|---|---|---|
기준시간 | dateTime | 로그 발생 시각 형식: “YYYY-MM-DD hh:mm:ss”* 로그가 처리되는 시간 기준 dateTime 이 -4년 ~ +1년 범위를 벗어나는 경우 예외 처리 되어 개별 저장 되며 저장일 기준 +2일 후에 확인 가능합니다 | TIMESTAMP | 2023-07-07 15:30:00 |
timezone | 로그에 입력하는 시간 파라미터 값의 UTC offset 값 * 전송 시 유의 사항 - dateTime 값에 따라 timezone 값을 동적으로 설정하여 전송 미전송 시 KST로 처리되어 GMT+9:00 값 추가 | STRING | GMT+9:00 | |
게임구분 | appId | 앱센터에 등록된 게임 별 application id - app_id로 발송 시 appId로 수정 저장 | STRING | com.com2us.ios.universal |
appIndex | appId에 부여된 index 번호 * 대체 | INTEGER | 123456 | |
gameId | appId에서 도메인과 게임명을 포함한 값 * 대체 | STRING | com.com2us.gamename | |
gameIndex | 게임에 부여된 index 값 * 대체 | INTEGER | 123456 | |
로그명 | category | 로그 정의 시 정의한 로그 명 | STRING | hive_login_log |
로그 식별자 | guid | 속성 한 행의 고유 키 값으로 전송된 로그의 중복을 제거하기 위해 사용 (나머지 필드의 값이 같더라도 guid 값이 다른 경우 다른 로그로 인식)* 전송 시 유의 사항- UUID 와 같은 랜덤 문자열 헝태로 전송을 권장 | STRING | 61ad27eaad7ae3d1521d |
기타 | undefinedRawData | 로그 정의에서 정의하지 않은 필드가 있는 경우, json 문자열 형태로 저장하는 필드 | STRING | { "tier" : "10", "fluentd_tag" : "ha2union.game.purchase_log", "country" : "HK" } |
appIdCompany | appId 에서 2번째 항목을 잘라낸값 | STRING | com2us | |
extraLogBody | 추가로 저장할 row 를 같이 담은 컬럼 | STRING | { "level" : "10", "petId" : "dog" } |
- 대체) appId 추가 불가 시 한 가지 로그만 있더라도 게임 구분 값으로 대체 사용 가능하며 appId 추가 가능 시 필수 필드에 포함되지 않습니다.
- appIndex, gameId, gameIndex 에 대한 정보는 앱 센터 AppId 목록 에서 확인 가능합니다.
애널리틱스의 기능을 사용하기 위한 필드¶
- 아래 표는 애널리틱스에서 제공하는 게임별 지표, 세그먼트 등 다양한 애널리틱스의 기능을 사용하기 위해 필요한 필드들 입니다.
- 애널리틱스에서 제공하는 기능을 사용하고자 하는 경우 필수로 생성해야 합니다.
- Hive SDK 클라이언트 로그 전송 기능을 사용하면 해당 필드들은 자동으로 수집 됩니다.
필드명 | 설명 | 데이터 타입 | 예시 |
---|---|---|---|
vid | 게임별로 생성되는 유저 Virtual ID | INTEGER | 100967777206 |
did | 사용자의 앱을 설치할 때마다 생성되는 인스턴스 값 | INTEGER | 51726905112 |
playerId | Hive 통합 인증에서 사용되는 key - player_id로 발송 시 playerId로 수정 저장 | INTEGER | 100967777106 |
serverId | 게임이 서비스되는 서버를 식별하기 위한 고유한 ID 정보 - server_id로 발송 시 serverId로 수정 저장 | STRING | GLOBAL |
market | 게임이 서비스되는 스토어/플랫폼 정보 * 마켓정보 - TS : SKT Tstore - OL : KT OllehMarket - OZ : LGU+ OzStore - AP : Apple Appstore - GO : Google Play - SA : Samsung Apps - LE : Com2us Lebi - MM : ChinaMobile MobileMarket - SN : Sina WeiboPoint - 36 : Qihu 360Point - MO : Momo MomoPoint - DN : eNA obagePoint - NA : NaverAppStore - AM : Amazon - ON : One Store - GA : 갤럭시스토어 - HU : 화웨이 huawei - FU : 펀탭 funtap - OP : OPPO - VI : VIVO - XI : 샤오미 - TC : 텐센트 - GS : google play games service - FA : FacebooK - HS : Hive Store 크로스플레이(PC버전 PG사 결제) | STRING | GO |
bigqueryRegistTimestamp | 고객이 전송한 로그가 BigQuery 테이블에 유입된 시간 | TIMESTAMP | 2023-08-22 03:34:08 UTC |
lang | 게임이 서비스되는 언어 정보 | STRING | EN |
appIdGroup | 앱 센터에 등록된 게임 별 Game ID | STRING | com.com2us.testgame |
checksum | guid 가 잘못된 경우 중복 데이터를 체크하기 위한 기준 컬럼 * 전송 시 유의 사항 - guid를 제외한 모든 컬럼명과 컬럼값을 문자열로 합치고 md5 한 값으로 전송 | STRING | 20ed52852cb2f72 |
country | 게임이 서비스 되는 국가 정보 | STRING | US |
company | 게임을 서비스하는 회사 정보 | STRING | com2us |
로그정의 사전 정의 필드¶
- 사전 정의 필드는 빅쿼리에 로그 적재시 데이터 활용의 편의를 위해 사전에 정의된 필드이며, 데이터 수집, 정제 과정에서 값을 자동으로 입력 또는 가공될 수 있습니다.
-
사전 정의 필드 '활성화'할 경우 아래 필드들이 자동으로 생성됩니다.
주의 - 사전 정의 필드 '비활성화' 상태일경우 '필드 추가하기'에서 동일한 이름으로 필드 정의시 아래 표의 '설명' 과 동일하게 동작 합니다.
필드명 데이터 타입 설명 자동으로 입력 또는 가공 Hive SDK 로그전송 기능 사용시 자동 수집 uid INTEGER HIVE 플랫폼 공통 유저 구분값 X O vidType STRING vid 필드의 구분 값(v1 : vid, v4 : playerid) X O appIdGroup STRING Hive 앱센터에 등록된 gameid값 O O os STRING APP이 실행되는 플랫폼 X O osVer STRING OS 의 버전 정보 X O model STRING APP이 실행되는 디바이스의 모델명 X O channel STRING 유저가 사용하는 플랫폼 구분 (빈값으로 전송시 'C2S' 입력) O O deviceCountry STRING APP이 실행되는 디바이스의 설정 국가 X O company STRING Hive 앱센터에 등록된 Company 값 O O appVer STRING App 버전 정보 X O sdkVer STRING Hive SDK 의 버전 정보 X O dateTimeOrigin TIMESTAMP 로그 전송시 전송된 dateTime 원본 O O ymdOri STRING dateTime 값을 yyyy-MM-dd 의 형태로 자른 값 O O ymdhOri STRING dateTime 값을 yyyy-MM-dd HH 의 형태로 자른 값 O O ymd STRING dateTime 값을 UTC로 변환하여 yyyy-MM-dd 로 자른 값 O O ymdh STRING dateTime 값을 UTC로 변환하여 yyyy-MM-dd HH 의 형태로 자른 값 O O dateTimeKst TIMESTAMP dateTime 값을 KST 기준시간으로 변환 O O ymdKst STRING dateTime 값을 KST로 변환하여 yyyy-MM-dd 의 형태로 자른 값 O O ymdhKst STRING dateTime 값을 KST로 변환하여 yyyy-MM-dd HH 의 형태로 자른 값 O O gameLanguage STRING 게임 설정 언어 코드 X X langOrigin STRING lang 의 원본 O X deviceLanguage STRING 유저의 디바이스 언어 X O serverIp STRING 로그를 전송하는 서버의 IP X X clientIp STRING 로그를 발생시킨 사용자 단말의 IP (class 4는 0 으로 변경하고 저장) O O gameCountry STRING 게임 국가 설정 정보 (빈값 일경우 country 로 전송된 값이 해당 필드에 저장) O X geoIpCountry STRING clientIp 값에 해당하는 국가 코드 O O source STRING 로그를 발생 시킨 경로 O O bigqueryRegistTimestamp TIMESTAMP 데이터가 BigQuery 에 적재된 시간(UTC) O O timezoneId STRING timezone 을 파싱한 결과 값. (원본 로그에 timezone 이 비어있거나 파싱 실패 시, KST 로 취급하여 GMT+09:00) O O
로그 정의하기¶
로그 정의 리스트¶
- 로그 정의 리스트에서는 새로운 로그 정의를 할 수 있고, 기존에 정의한 로그의 상태를 간략히 확인할 수 있습니다.
- 클라이언트 소스 생성: 정의한 로그 리스트 전체에 해당하는 게임에 적용할 클라이언트 소스코드를 생성합니다.
- 로그 정의: 새로운 로그를 정의합니다.
- 불러와서 새 로그 정의: 기존에 정의한 로그 중에 하나를 선택 후 이용 가능하며, 해당 로그 정의 내용을 그대로 복사해서 정의하는 화면으로 이동합니다.
- 템플릿으로 등록: 기존의 정의한 로그들을 중 자주 사용하는 형식의 로그들을 선택해 템플릿으로 등록할 수 있습니다. 등록한 템플릿은 로그 정의 화면에서 불러와서 사용할 수 있습니다.
- 빅쿼리에 연결: 정상적으로 로그 데이터 저장소가 생성되었음을 의미합니다.
- 데이터 플로우에 존재: 새로 정의한 로그의 경우 당일은 X이며, 다음날 오전에 O로 변경된 것을 확인 후 사용해야 합니다. 로그 수집은 당일도 가능합니다. 로그 정의한 당일이 아닌 다른 날 X가 되어 있다면 아래의 설명대로 문의하세요.
- 빅쿼리에 연결과 데이터 플로우에 존재에 X표시가 되었다면 데이터 연동에 문제가 있음을 의미하며, [기술지원]을 통해 문의해야 합니다.
웹 폼으로 로그 정의하기¶
- 기본정보
- 테이블명: 해당 로그의 테이블명을 기입합니다.
- 설명: 해당 테이블의 설명을 기입합니다. 해당 설명은 세그먼트의 게임 정보 부분에 노출되므로 사용자가 확인하기 쉽도록 기입하는 것을 권장합니다. (EX: level - 유저의 계정 레벨)
- 템플릿을 통해 필드 작성: 기존에 등록한 템플릿에서 하나를 선택하면, 해당 로그 정의했던 정보들이 그대로 노출되고 필요한 부분을 수정해서 로그 정의를 진행합니다.
- 공통 필드 설정
- 공통 필드는 모든 종류의 로그에서 공통적으로 들어갈 수 있는 필드들을 미리 정의해 놓은 부분입니다.
- 데이터 선택 체크박스를 체크하면 이 로그에서 사용하는 필드가 됩니다. 체크를 하지 않아도 게임에서 전송한다면 로그를 수집할 수 있습니다. 다만, 체크하면 자동으로 서버 소스 코드가 생성되기 때문에 편리하게 생성할 수 있습니다. 클라이언트는 체크하지 않아도 Hive SDK4에서 모두 수집합니다.
- 정의 필드 설정
- 정의 필드는 전송할 게임 로그의 필드를 설정하는 부분입니다. 필드명과 필드의 타입, 설명, 샘플 값 입력이 필요합니다.
- 체크박스를 체크하면 해당 필드는 권장 필드가 되며, 세그먼트에 활용할 수 있는 필드로 정의됩니다.
- 등록 버튼을 통해 로그 정의가 완료됩니다. 로그 정의를 마치면 리스트에 추가되며 상세 화면에서 필드 추가나 수정, 데이터 수집 확인 등을 할 수 있습니다.
엑셀로 로그 정의하기¶
- 엑셀파일 만들기
-
다음과 같은 양식으로 표를 작성합니다.
테이블명 앱아이디의 앞부분 테이블 설명 필드명1 필드1의 타입 필드1에 대한 설명 필드1에 들어갈 샘플 값 필드명2 필드2의 타입 필드2에 대한 설명 필드2에 들어갈 샘플 값 예를 들어, 다음과 같이 작성할 수 있습니다.
- 엑셀파일의 시트를 추가하여 다수의 로그를 정의할 수도 있습니다. 단, 같은 앱(게임)에 대한 로그만 정의할 수 있습니다. 시트 이름은 어떻게 지어도 상관 없습니다.
-
- 엑셀 파일 업로드
로그 관리하기¶
정의한 로그 상세 화면¶
- 로그 정의 리스트에서 해당 로그에 필드를 추가하거나 로그 전송 상태가 정상인지 확인하려면 로그를 클릭해 상세 화면으로 이동합니다.
1. 기본정보, 빅쿼리 스키마 정보
- 기본정보: 로그 정의한 게임, 카테고리, 등록일, 설명을 확인할 수 있습니다. 설명은 수정도 가능합니다.
- 빅쿼리 스키마 정보: 빅쿼리에 저장된 스키마 정보를 볼 수 있습니다.
2. 로그 필드 정보
- 공통 필드는 검은색, 게임에서 추가한 필드는 파란색으로 라인이 표시됩니다.
- 필드의 설명과 사용 항목은 수정이 가능합니다.
-
사용: 해당 필드의 사용 수준을 선택할 수 있습니다. 이 수준은 로그 정의 하는 사용자의 참고용으로 사용되며, 로그 전송을 개발할 때 사용 수준에 맞게 올바른 적용이 필요합니다. 권장과 필수로 설정되어 있는 필드는 세그먼트에서 활용할 수 있습니다.
- 필수: 필수로 수집되어야 하는 필드를 의미합니다. 게임에 적용 시 해당 필드의 값이 반드시 들어가도록 적용해야 합니다. 예를 들어, vid 필드가 해당합니다.
- 권장: 중요도가 높은 필드를 의미하며, 수집이 권장되는 필드입니다. 권장과 필수 필드는 세그먼트의 조건으로 추가할 수 있습니다.
- 자동: 로그 수집 시스템이 꼭 필요로 하는 필드이며, 자동으로 생성됩니다. 예를들어 geoIpCountry 필드로 클라이언트 IP를 통해 국가값을 받아오는 필드입니다.
- 선택: 수집은 하나 활용은 선택 사항인 필드입니다. 서버에서 로그를 전송할 경우 보내주지 않아도 되는 필드입니다.
-
빅쿼리 연동: 빅쿼리에 올바르게 연동되어 있는지 표시됩니다. O표시는 정상이며, X표시가 있다면 로그 연동에 문제가 있으므로 기술지원을 통해 문의해야 합니다.
- 필드를 드래그하여 순서를 바꿀 수 있습니다.
3. 필드 추가
- 필드 추가: 기존에 정의했던 로그에 필드를 추가하는 기능입니다. 추가하는 방법은 로그 정의와 동일합니다.
- 추가할 필드를 작성한 후 하단에 있는 필드 추가 실행 버튼을 클릭해야 저장됩니다.
4. ETL 시뮬레이션
- ETL 시뮬레이션은 해당 로그 정의가 올바르게 수집 되는지 확인하는 기능입니다.
- Request - Json Body
- 해당 로그의 샘플 Json을 확인할 수 있으며, Json 전송 버튼으로 응답이 올바르게 오는지 확인할 수 있습니다.
- Json 전송 버튼 클릭 시 아래 Response 영역에 결과 값이 노출됩니다. 또한 Json 데이터 저장 서버 경로에 단계별 수집 상태가 표시됩니다.
- Json 데이터 저장 서버 경로의 버튼들을 클릭하면 하단에 상태값이 표시되고, BigQuery 버튼을 클릭하면 최종적으로 저장이 잘 되었는지 확인됩니다. 그리고 최종 저장된 Json 데이터가 출력됩니다.
- 이 기능으로 수집된 샘플 데이터는 실제로 DB에 저장되기 때문에 해당 로그로 인한 오차가 발생할 수 있음을 주의해야 합니다.
5. 데이터 샘플
- 데이터 샘플: 해당 정의를 통해 실제 수집된 로그를 확인할 수 있습니다. 최신순으로 최대 10개의 로그까지 노출됩니다.
- 저장 대기중인 최신 데이터 확인: 새로고침하여 로그를 최신 순으로 노출합니다.
- 더보기: 데이터 샘플을 더 많이 확인하기 위한 페이지가 노출됩니다. (아래 이미지)
- 데이터 샘플 더보기 페이지에서는 최신 7일간의 로그를 확인할 수 있으며, 필드를 검색할 수 있는 기능입니다. 좌우 스크롤을 통해 모든 필드를 확인할 수 있습니다.
- 필드 선택: 모든 필드를 선택할 수 있고, 선택한 필드의 값으로 검색할 수 있습니다.
- 비교 방식: 일치 검색인 =와, LIKE 검색 방식을 지원합니다.
- 특정 vid의 로그를 검색하고 싶다면 vid 필드을 선택하고 vid를 기입 후 검색하면 해당 vid의 로그만 노출됩니다.
6. 클라이언트 소스 생성
- 클라이언트 소스 생성: 해당 로그의 언어별 클라이언트 소스를 생성합니다.
- Json 익스포트: 해당 로그를 Json으로 익스포트합니다. 새 창으로 소스가 익스포트되며, 익스포트된 해당 소스를 사용하거나 수정할 수 있습니다.
- 불러와서 새 로그 정의: 해당 로그와 유사한 로그를 정의하고자 한다면 해당 버튼을 통해서 로그가 정의된 상태로 새 로그정의 화면이 노출됩니다.
- 삭제: 해당 로그 정의를 삭제합니다.
정의된 로그를 서버 to 서버로 전송하기¶
[6. 클라이언트 소스 생성] 설명과 같이 Hive애널리틱스 v2는 Hive SDK v4 내의 API 를 통한 전송법을 권장하지만, 서버 to 서버로도 애널리틱스 v2로 로그를 전송하실 수 있습니다. 전송은 fluentd를 사용하는데, 사용법은 아래 링크를 참조해 주세요.
서버 to 서버 로그 정의 전송 방법 : Fluentd 사용
Note
- 로그 전송시 확인 사항
- 로그 전송 필수 컬럼
- dateTime, category, guid
- 필수 컬럼에 데이터가 누락 될 경우 데이터가 저장되지 않습니다.
- 로그 전송 필수 컬럼
- Hive 애널리틱스 기능 이용 필수 컬럼
- appid, vid or uid
- 필수 컬럼에 데이터가 누락 될 경우 Hive 애널리틱스 기능을 정상적으로 이용이 불가합니다.
로그 데이터 검증 및 수정 처리¶
- 로그 정의 시 안내되어 있는 내용 외에 추가로 데이터 검증과 수정 처리 되는 부분은 아래와 같습니다.
- geoipCountry 추가
- clientIp 값이 있는 경우 IP값을 이용해 MaxMind DB 조회를 통해 국가 값을 매칭 합니다.
- clientIp 값이 없거나 조회가 되지 않는 경우
- lang 에 값이 있다면 geoIpCountry에 해당 값을 추가 합니다.
-
lang 의 국가 값 일부는 변경하여 추가 합니다.
원본수정 후ko KR ja JP vi VN es ES
- 최종적으로도 국가 확인이 불가능하다면 geoIpCountry에 "ET" 값을 추가 합니다.
- clientIp 수정
- class 4 는 제외하여 기록합니다.
- 예) 127.0.0.1 → 127.0.0.0
- class 4 는 제외하여 기록합니다.
- appId를 이용한 데이터 최종 보정
- 앱 센터 데이터에 등록한 데이터를 기준으로 appId로 검색하여 비어 있는 값을 추가 합니다.
- market
- os
- company
- channel
- channel에 값이 없는 경우에는 "C2S"로 추가 합니다.
- sdkVer
- appidGroup
- appidCompany
- 앱 센터 데이터에 등록한 데이터를 기준으로 appId로 검색하여 비어 있는 값을 추가 합니다.