Hive SDK Client 사용 방식
Hive SDK로 제공되는 기능을 통해 클라이언트에서 원하는 형태로 Hive 로그수집 서버로 직접 로그전송이 가능합니다.
Unity®
1 2 3 4 5 |
JSONObject logData = new JSONObject (); // 사전에 정의된 로그 설정 logData.AddField ("category", "hivesdk_levelup_log"); logData.AddField ("level", level); Analytics.sendAnalyticsLog (logData); |
C++
1 2 3 4 5 |
picojson::object logData; // 사전에 정의된 로그 설정 logData["category"] = picojson::value("hivesdk_levelup_log"); logData["level"] = picojson::value((double)level); Analytics::sendAnalyticsLog(logData); |
Android
1 2 3 4 5 |
Map<String, Object> logData = new HashMap<String, Object>(); // 사전에 정의된 로그 설정 logData.put("category", "hivesdk_levelup_log"); logData.put("level", level); Analytics.sendAnalyticsLog(logData); |
iOS
1 2 3 4 5 |
NSMutableDictionary* logData = [[NSMutableDictionary alloc] init]; // 사전에 정의된 로그 설정 [logData setObject:@"hivesdk_levelup_log" forKey:@"category"]; [logData setObject:level forKey:@"level"]; [HIVEAnalytics sendAnalyticsLog:logData]; |
게임 진입 구간 퍼널 로그 전송하기
게임 실행한 순간부터 로비에 도착하기까지 유저의 이탈 구간을 분석하기 위해 Hive SDK가 구간별로 Hive 애널리틱스에 로그를 전송하는 기능입니다.
Hive SDK v4.11.0 이상 버전을 적용할 때 전면 배너 Hive 프로모션(1000)까지의 로그가 자동으로 전송되며, Hive 콘솔 > 애널리틱스 > 퍼널 메뉴에서 기본 생성된 퍼널을 확인하거나 새 퍼널을 생성 할 수 있습니다. 콘솔에서 퍼널을 생성하는 방법은 애널리틱스 > 퍼널 페이지를 참조하세요.
-
- 진입 구간 값 목록
아래 진입 구간에서 유저의 유입 기록을 로깅합니다. 퍼널 로그는 각 유저별로 앱을 1회 실행할 때마다 1회 기록합니다. Hive 연동 가이드라인 기준, 아래에 명시된 구간에서 유저 이탈 여부를 확인할 수 있습니다.
구분 진입 구간 설명 사전 정의 구간 400 앱 신규 설치 유저 401 Hive SDK 초기화 시작점 420 업데이트 / 공지 430 약관동의 500 게임서버 수동선택 600 서버 점검 팝업 700 게임 데이터와 리소스 다운로드 시작(게임 설치/업데이트와는 별개의 구간) 800 데이터와 리소스 다운로드 완료 900 로그인 1000 전면 배너 Hive 프로모션 사용자 정의 구간 10000 이상 19999 이하 게임에서 정의한 구간
- 진입 구간 값 목록
- 게임 데이터와 리소스 다운로드 구간 및 사용자 정의 구간 로그 전송
게임 데이터와 리소스 다운로드 구간 및 사용자 정의 구간은 Hive SDK에서 시작과 끝 시점을 정확하게 확인하기 어려우며, 게임에서 시작과 끝 시점을 특정하여 유저의 로그를 전송해야합니다. 아래 샘플 코드를 활용하여 로그를 전송해보세요.
Unity®
1 2 3 4 5 6 7 8 9 10 11 |
// 게임 리소스와 데이터 다운로드 시작 시 700 Analytics.sendUserEntryFunnelsLogs("700", null); // 리소스와 데이터 다운로드 완료 시 800 Analytics.sendUserEntryFunnelsLogs("800", null); // Analytics.sendAnalyticsLog() 사용 시 JSONObject logData = new JSONObject (); // 게임 리소스와 데이터 다운로드 시작 시 700 logData.AddField ("category", "hive_user_entry_log"); logData.AddField ("sectionId", 700); Analytics.sendAnalyticsLog (logData); |
C++
1 2 3 4 5 6 7 8 9 10 11 |
// 게임 리소스와 데이터 다운로드 시작 시 700 Analytics::sendUserEntryFunnelsLogs("700", nullptr); // 게임 리소스와 데이터 다운로드 완료 시 800 Analytics::sendUserEntryFunnelsLogs("800", nullptr); // Analytics::sendAnalyticsLog() 사용 시 picojson::object logData; // 게임 리소스와 데이터 다운로드 시작 시 700 logData["category"] = picojson::value("hive_user_entry_log"); logData["sectionId"] = picojson::value((double)700); Analytics::sendAnalyticsLog(logData); |
Android
1 2 3 4 5 6 7 8 9 10 11 |
// 게임 리소스와 데이터 다운로드 시작 시 700 Analytics.sendUserEntryFunnelsLogs("700", null); // 게임 리소스와 데이터 다운로드 완료 시 800 Analytics.sendUserEntryFunnelsLogs("800", null); // Analytics.sendAnalyticsLog() 사용 시 Map<String, Object> logData = new HashMap<String, Object>(); // 게임 리소스와 데이터 다운로드 시작 시 700 logData.put("category", "hive_user_entry_log"); logData.put("sectionId", 700); Analytics.sendAnalyticsLog(logData); |
iOS
1 2 3 4 5 6 7 8 9 10 11 |
// 게임 리소스와 데이터 다운로드 시작 시 700 [HIVEAnalytics sendUserEntryFunnelsLogs:@"700" withOptions:nil]; // 게임 리소스와 데이터 다운로드 완료 시 800 [HIVEAnalytics sendUserEntryFunnelsLogs:@"800" withOptions:nil]; // HIVEAnalytics sendAnalyticsLog 사용 시 NSMutableDictionary* logData = [[NSMutableDictionary alloc] init]; // 게임 리소스와 데이터 다운로드 시작 시 700 [logData setObject:@"hive_user_entry_log" forKey:@"category"]; [logData setObject:700 forKey:@"sectionId"]; [HIVEAnalytics sendAnalyticsLog:logData]; |