Unity SDK 가이드

UserHabit을 시작하기 위해 SDK 적용이 필요합니다.
Unity로 만든 게임에 UserHabit SDK를 적용하려면 아래 설명을 참고해주세요.

참고UserHabit SDK 는 다음 버전의 Unity 를 지원합니다.

  • Unity 5 이하 - Unity 5.6.x 버전 사용
  • Unity 2017 이상 - Unity 2017.3.x 버전 사용

      지원 OS

  • Android
  • iOS

      지원 UI 플러그인

  • NGUI
  • UGUI

1. 기본설정

1) SDK 패키지 설치

다운로드 받은 Unitypackage 파일을 실행해 필요한 파일들을 프로젝트 내에 Import 하면 아래와 같이 트리구조가 생성됩니다.

Unity 1 0
2) 시작 코드 추가

a. 방법 1

게임이 시작되는 부분에 Userhabit.Start(); 코드를 삽입 합니다.

b. 방법 2

게임 시작시 동작하는 임의의 GameObject에 UserhabitStarter 컴포넌트를 추가합니다.

Unity02

3) 종료 코드 추가

게임 종료를 위해 호출하는 Application.Quit()Userhabit.Quit() 로 변경합니다.


4) 컴포넌트 추가

NGUI 로 구성한 UI 중 화면을 구성하는 오브젝트들을 자녀로 갖고 있는 상위 Panel이나 Widget, GameObject 에 UHScreenHandler 컴포넌트를 추가합니다.
UGUI로 구성한 UI 인 경우에는 Canvas 에 UHScreenHandler 가 아닌 UHCanvasEnableChecker 컴포넌트를 추가합니다.

  • ※ Prefab을 이용해 동적으로 UI를 호출하는 경우, 해당 Prefab에 UHScreenHandler 또는 UHCanvasEnableChecker컴포넌트를 추가합니다.

  • ※ UHScreenHandler, UHCanvasEnableChecker 는 화면 정보를 수집하는 일을 합니다.
    또한 Userhabit - Develop 모드일 때에는 화면 스크린샷과 이벤트를 발생시키는 오브젝트의 이미지를 수집하여 서버로 전송합니다.
    그래서 화면이동 시 시간적 여유(5~10초)를 두고 이동하시면 보다 더 정확한 데이터를 수집 할 수 있습니다.
5) Config 설정

a. 상단 메뉴

Userhabit - Userhabit SDK 를 선택하여 Userhabit Config 창을 호출합니다.

b. Config

호출되는 Config 창에 게임 버전, API Key, 를 입력하고 UI 타입과 Server 타입을 지정한 뒤 Save 합니다.

Unity 3 0

유의사항

  • GameVersion : 게임의 버전입니다. 정확한 버전이 입력되어야 편리하게 수집된 데이터를 관리 및 조회할 때 수월합니다.
  • Api Key : 앱 마다 고유하게 부여되는 인증 키입니다. 개발발 버전용 Api Key는 앞에 dev_ 가 붙습니다.
  • UI Type : UGUI / NGUI 를 선택합니다. (UGUI 선택시 Assets-Userhabit-NGUI 폴더를 삭제하시기 바랍니다. )
  • Server Type : 유저해빗 서버 타입입니다.
  • Develop : 개발 및 테스트용, 스크린샷을 수집해 서버로 전송합니다. 유저해빗 웹 콘솔 - Test 에서 데이터를 확인할 수 있습니다.
  • Live : 실제 라이브 서비스용, 스크린샷을 수집 하지 않습니다. 유저해빗 웹 콘솔 - Production 에서 데이터를 확인할 수 있습니다.
  • 주의 게임 Live 버전 배포시 Userhabit Server Type 을 반드시 Live로 바꿔주시기 바랍니다. Develop 으로 된 상태에서 배포하게 되면 스크린샷을 촬영하여 서버로 전송하기 때문에 게임 성능에 영향을 줄 수 있습니다.


    2. OS별 설정

    1) Android 설정

    a. 이미 사용중인 Android Manifest 파일이 있는 경우

    <application> </application>
    다음 코드를 추가하여 서비스를 등록합니다.
    <service android:name="userhabit.io.unity_service.UserhabitService"/>


    b. Android Manifest 파일이 없는 경우

    Userhabit.unitypackage 파일 설치 시에 생성된 AndroidManifest.xml 을 편집기에서 열어 상단 package="Write your game package name" 부분에 개발중인 게임의 패키지 명을 입력합니다.
    (패키지명은 Player Setting - Android 탭 - Other Setting 에서 확인 가능합니다.)


    2) iOS 설정

    유니티에서 iOS 플랫폼으로 빌드를 하면 Xcode 프로젝트가 생성됩니다.
    이 Xcode 프로젝트에서 libz.tbd 라이브러리를 링크를 등록합니다.
    Build Phases - Link Binary With Libraries - + 버튼 - libz.tbd 파일 선택하여 등록

    Unity09

    3. 추가 기능

    1) 화면 통합 기능

    Userhabit은 UHScreenHandler (UGUI 에서는 UHCanvasEnableChecker )
    컴포넌트를 가지고 있는 오브젝트를 하나의 화면으로 인식하고 정보를 수집합니다.
    만약 동시에 복수의 UHScreenHandler 가 Active 되면 화면정보가 동시에 여러 개 수집될 수 있습니다.
    이를 해결하기 위해서는 다음 안내를 참고해주시기 바랍니다.

    a. 참고 1

    화면 전환을 기준으로 활성화되는 UI Object 에 UHScreenHandler를 추가합니다

    b. 참고 2

    처음 노출되는 UHScreenHandler 의 하위 Child View 로 다른 부모 오브젝트를 등록합니다.

    그림 설명

  • UHScreenHandler 는 Screen 1, Screen 2, Screen 3 오브젝트에만 추가하였습니다.
  • HUD 와 SideBar는 UHScreenHandler를 추가하지 않은 상태입니다.
  • Screen 1 노출될 때 HUD와 SideBar 가 가지고 있는 오브젝트 정보를 수집하기 위하여 Screen 1 - UHScreenHandler의 Child View 로 HUD와 SideBar 를 등록했습니다.
  • 이제 Userhabit SDK는 Screen 1이 노출 될 때 Screen 1, HUD, SideBar 의 정보를, Screen 2 와 3 이 호출 될 때는 Screen 2 와 3의 정보를 각각 수집하게 됩니다.
  • Unity07

    2) 화면 이름 변경 기능

    화면 이름은 기본적으로 GameObject 의 이름을 사용합니다.
    때문에 화면 이름 변경을 위해서는 GameObject의 이름을 변경하시면 됩니다.
    그런데 GameObject의 이름은 유지한 채 Userhabit 에서 수집하는 이름만 변경하고 싶은경우에는 UHScreenHandler (또는 UHCanvasEnableChecker) - CustomViewName 에 입력해주시기 바랍니다.

    Unity08

    4. 데이터 확인

    수집된 데이터는 유저해빗 사이트(www.userhabit.io) 에 로그인 > 리플레이 메뉴를 통해 확인하실 수 있습니다.

    Unity05


    더 궁금한 사항은 help@userhabit.io으로 연락해주시면 신속히 답변해드리겠습니다.