Unity SDK 가이드

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

1. SDK 적용하기

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

  • Unity 5.6.x
  • Unity 2017.3.x

      지원 OS

  • Android
  • iOS (차후 지원 예정)

      지원 UI 플러그인

  • NGUI
  • UGUI (차후 지원 예정)
1) 파일생성

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

Unity01
2) 설치방법

1) Android Manifest 파일이 있는 경우

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


2) Android Manifest 파일이 없는 경우

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


2. 시작하기

1) 방법 1

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

1) 방법 2

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

Unity02

3. 설정하기

1) 상단 메뉴

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

2) Config

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

Unity03

유의사항

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

    4. 컴포넌트 추가하기

    NGUI 로 구성한 UI 중 화면을 구성하는 오브젝트들을 자녀로 갖고 있는
    상위 Panel이나 Widget, GameObject 에 UHScreenHandler 컴포넌트를 추가합니다. Prefab을 이용해 동적으로 UI를 호출하는 경우, 해당 Prefab에 UHScreenHandler 컴포넌트를 추가합니다.

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

    Unity04

    5. 화면 통합하기

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

    1) 참고 1

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

    2) 참고 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

    6. 화면 이름 변경하기

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

    Unity08

    7. 종료하기

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

    8. 확인하기

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

    Unity05

    9. 지원 버전 별 파일명

    Unity3D 2017.3.x
    Unity3D 5.6.x
    Userhabit_2017.3.x_날짜.unitypackage
    Userhabit_5.6.x_날짜.unitypackage


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