Unreal Engine SDK

1. Unreal Engine 대응 버전

본SDK은Unreal Engine 4.19〜4.25의 환경에서 동작합니다.

Android플랫폼의 경우
※ Android 2.3이상

iOS플랫폼의 경우
※ iOS 9.0이상
※ 리모트 빌드는 Unreal Engine 4.20, 4.22, 4.23, 4.24, 4.25에서 동작하는 것을 확인하였습니다.

2. Unreal Engine의Project에SDK적용 방법

Step1:SmartBeat플러그인 추가

아래에서 SmartBeat SDK를 다운로드하십시오.

SmartBeat-UE4.zip압축을 푼 후SmartBeat폴더를 빼내어 프로젝트의Plugins폴더(Plugins폴더가 없는 경우에 작성)에 복사하여 주세요.

위의 순서로 진행 후 Unreal Editor에서 프로젝트를 열면,첫 회만 아래와 같이 플러그인의 빌드를 추가하는 다이얼로그가 표시되며,「Yes」를 선택하여 빌드를 진행하여 주세요.

C++를 포함하지 않고 Blueprint만으로 구성되어 있는 프로젝트의 경우에는 그대로 플러그인의 빌드가 실행되지 않기 때문에 Unreal Editor의 메뉴로 부터 File > New C++ Class...을 선택하여 C++클래스를 추가해주세요. 추가하는 클래스의 종류는 None , 이름은 디폴트값 그대로 괜찮습니다. C++클래스를 추가한 뒤에 프로젝트를 다시 열어주세요.
※처음부터C+를 포함한 프로젝트의 경우에는 C+클래스의 추가는 필요 없습니다.

Step2:API키 설정

Unreal Editor에서 툴바의Settings > Project Settings...에서 Project Settings를 열어주세요.

Plugins - SmartBeat의 페이지의 IOS/Android의 항목 아래에API Key의 항목이 있고 SmartBeat Console로부터 취득한API키를 설정하여 주세요.

Step3(Android):중복 유저 카운트 방지

특별한 설정 사항은 없습니다.
※ UnrealEngine에서 GooglePlayService가 이미 읽어 들여져 있어 상시적으로 유효화 되어 있습니다.
※ 본 기능은 Google Play services 4.0이후 버젼이 설치된 단말을 사용하는 유저 카운트에만 유효합니다. (그 외의 유저는 기존대로 카운트됩니다.)

Step4(Android):오디언스 기능 설정

Advertising ID를 사용하여 애플리케이션을 이용하는 사용자의 남녀 비와 연령분포를 확인할 수 있게 됩니다.
Android에서는 중복 사용자 계정 방지 설정을 유효로 하면 오디언스 기능도 유효하게 됩니다. 중복 사용자 계정의 방지 설정에 대해서는 이곳을 참조하시기 바랍니다.

Step3(iOS):중복 유저 카운트 방지

Unreal Engine SDK 1.2.12의 이후 버전을 이용하시는 경우, 추가적인 조치는 필요 없습니다. 자동으로 같은 사용자의 중복 계정을 방지합니다. 그로 인해 앱의 재설치를 반복하는 행위(소위 '반복 리셋')가 있다 하더라도, 불필요한 MAU(Monthly Active Users) 수의 증가를 방지할 수 있습니다.

Step4(iOS):오디언스 기능 설정

IDFA를 사용하여 애플리케이션을 이용하는 사용자의 남녀 비와 연령분포를 확인할 수 있게 됩니다.
Project Settings의Platforms - iOS의 페이지를 열어서 「Additional Non-Shipping Linker Flags」, 「Additional Shipping Linker Flags」의 항목에 아래 내용을 추가하여 주세요.

-force_load "/프로젝트 패스/Plugins/SmartBeat/Lib/IOS/libSmartBeatIdfa.a"


※ Unreal Engine 4.10에서는Additional Shipping Linker Flags가 정상적인 기능을 하지 않기 때문에, 위와 같은 설정을 해도 중복 유저 카운트 방지는 유효화가 되지 않습니다.

Step4(iOS):UE 4.21 이후 버전의 원격 빌드 설정

※ 이 항목은 Windows에서 UE 4.21 이후 버전을 사용하여, iOS용으로 원격 빌드하는 데 필요한 항목입니다.

"/프로젝트 경로/Build/Rsync/RsyncProject.txt"라는 파일을 작성하여 아래 내용을 입력하여 주십시오.

+ Plugins/SmartBeat/Lib/IOS/**

3. 옵션 기능

3.1 LogCat/NSLog 출력

네이티브 레이어(iOS는Objective-C및C++,Android는Java및C++)로 크래쉬가 발생한 경우에는 네이티브 레이어에서 출력된 로그를 크래쉬 데이터와 함께 SmartBeat서버에 송신합니다.
※ 64KB 미만일 경우에는 최대 500행、그 외의 경우에는 64KB까지 최신 로그를 취득합니다.
※ Blueprint레이어에서 발생한 에러에 대해서는 LogCat/NSLog가 포함되어 있지 않습니다.
※ iOS 10.0 이후에서는 이 기능을 유효화 하더라도 NSLog를 크래시 데이터에 포함시킬 수 없습니다.

유효화 방법

Project Settings의 Plugins - SmartBeat의 페이지에서「Enable NSLog」(iOS의 경우)또는「Enable Logcat」(Android의 경우)을 유효화 하여 주세요.

3.2 로그 출력

Blueprint레이어에서 로그를 보존하고 크래쉬 데이터와 함께 SmartBeat서버에 송신합니다.
※ 64KB 미만일 경우에는 최대 500행、그 외의 경우에는 64KB까지 최신 로그를 취득합니다.

유효화 방법

Blueprint의Graph Editor에서 컨텍스트 메뉴를 열어서 SmartBeat > Log for SmartBeat을 선택하여 노드를 추가하여 주세요.

노드의「Message」에 로그 메시지를 설정하여 주세요.

3.3 유저 ID 설정

대상의 App이 관리하는 유저를 식별할 ID가 이미 있는 경우、그것을 설정할 수 있습니다.
설정 된 유저ID는 Crash와 함께 SmartBeat서버에 보내집니다.
어떤 유저로 Crash가 발생 되었는지 등 관리 콘솔 상에서 확인 가능합니다.

유효화 방법

Blueprint의Graph Editor에서 컨텍스트 메뉴를 열어서 SmartBeat > Set User ID for SmartBeat를 선택하고 노드를 추가하여 주세요.

노드의「User ID」에 유저ID를 설정하여 주세요.

3.4 확장 정보

Crash 정보에 확장 정보를 부혀할 수 있습니다. App에 따라서는 유저가 설정한 정보와 App이 내부에 보유하고 있는 정보가 Crash해석에 도움이 됩니다.

유효화 방법

Blueprint의Graph Editor에서 컨텍스트 메뉴를 열어서 SmartBeat > Add Extra Data for SmartBeat를 선택하고 노드를 추가하여 주세요.

노드의「key」와「Value」에 임의의 키네임 과 값의 세팅을 설정하여 주세요.

값을 변경하고 싶을 경우에는 같은 키 이름으로 추가하면 새로운 값으로 덮어씌워 집니다.

3.5 breadcrumb기능

임의의 포인트로 breadcrumb를 남기면 에러가 발생할 때까지 사용자가 조작한 내용과 화면 이동내역을 수집할 수 있습니다.

유효화 방법

Blueprint의Graph Editor에서 컨텍스트 메뉴를 열어서 SmartBeat > Leave Breadcrumb for SmartBeat를 선택하고 노드를 추가하여 주세요.

노드의「Breadcrumb」에 브레드크럼을 설정하여 주세요.

breadcrumb는 마지막에 기록되어진 것을 포함하여 최대 128개까지 보존할 수 있습니다.
일반 동작과 상태 변경 사항을 자동으로 브레드크럼으로 기록합니다. 자동 기록 대상은 이곳(Android / iOS) 을 참조하세요.
예를 들면, [맵 화면]→[게임 화면]→[설정 화면]등과, 키가 되는 화면의 이동 시점에
남길 경우, 에러 직전에 사용자가 어떻게 화면을 이동했는지 알 수 있습니다.

3.6 에러 수집 유효・무효 변경

초기상태에서 에러수집을 무효로 하고 도중에 에러수집을 유효화하고 싶을 때 이용이 가능합니다

유효화 방법

Project Settings의Plugins - SmartBeat의 페이지에서「Disable at Startup」을 설정하여 기동시에 유효로 할지 무효로 할지 설정하여 주세요.

이 후 유효화하는 경우에는 Blueprint의Graph Editor에서 컨텍스트 메뉴를 열어서 SmartBeat > Enable SmartBeat를 선택하고 임의의 개소에 노드를 추가하여 주세요. Enable SmartBeat가 실행 된 이후 발생한 에러를 수집합니다.

4. 개정 이력

개정일 변경 사항
2018년 2월 1일 초판 릴리즈
2019년 5월 31일 [1. Unreal Engine 대응 버전]을 변경
2019년 10월 29일 [3.5 breadcrumb기능]을 변경
2019년 11월 28일 [3.5 breadcrumb기능]을 변경
2020년 4월 15일 [1. Unreal Engine 대응 버전]
[Step3(iOS):중복 유저 카운트 방지]을 변경
2020년 9월 8일 [1. Unreal Engine 대응 버전]
2020년 9월 15일 중복 사용자 계정 방지 설정(iOS)' 도입 방법 업데이트
2020년 10월 22일 [Step5 (Android) : SIGNAL 가져 오기 활성화] 삭제