Unity 매뉴얼: Android 개발 가이드
이 문서는 Unity를 사용하여 Android 플랫폼을 위한 개발을 하는 데 도움이 되는 기본적인 정보를 제공합니다. Unity는 다양한 기능을 제공하여 Android 기기와 쉽게 상호작용할 수 있도록 합니다.
주요 기능
1. 플랫폼별 코드 컴파일
크로스 플랫폼 프로젝트에서는 UNITY_ANDROID 지시문을 사용하여 Android 전용 C# 코드를 조건부로 컴파일할 수 있습니다. 이를 통해 다른 플랫폼에서 실행할 때 해당 코드가 무시됩니다.
2. 기기별 기능 접근
Android 기기에 접근하기 위해 Input 및 Handheld 클래스를 사용할 수 있습니다. 여기에는 다음과 같은 여러 기능이 포함됩니다:
- 진동 지원:
Handheld.Vibrate()를 호출하여 기기를 진동시킬 수 있습니다. 진동 하드웨어가 없는 기기에서는 이 호출이 무시됩니다. - 작업 표시기: 앱이 느리게 작동할 때를 대비하여 매일 내장된 작업 표시기를 사용할 수 있습니다. 사용 방법은
Handheld.StartActivityIndicator()를 참조하세요.
3. 기기 프로퍼티 접근
다음 스크립트를 사용하여 Android 기기의 속성에 접근할 수 있습니다:
| 기기 프로퍼티 | 설명 |
|---|---|
SystemInfo.deviceUniqueIdentifier |
항상 ANDROID_ID의 md5 값을 반환합니다. 자세한 내용은 Android 개발자 문서를 참조하세요. |
SystemInfo.deviceName |
기기 이름을 반환합니다. 값이 없는 경우 <unknown>을 반환합니다. |
SystemInfo.deviceModel |
기기 모델을 반환합니다. 제조사 이름과 모델 번호가 포함됩니다. 예: “LGE Nexus 5” 또는 “SAMSUNG-SM-G900A”. |
SystemInfo.operatingSystem |
운영 체제 이름과 버전을 반환합니다. |
예제 코드
using UnityEngine;
public class DeviceInfo : MonoBehaviour
{
void Start()
{
Debug.Log("기기 고유 식별자: " + SystemInfo.deviceUniqueIdentifier);
Debug.Log("기기 이름: " + SystemInfo.deviceName);
Debug.Log("기기 모델: " + SystemInfo.deviceModel);
Debug.Log("운영 체제: " + SystemInfo.operatingSystem);
}
void Update()
{
if (Input.GetKeyDown(KeyCode.V))
{
Handheld.Vibrate();
}
}
}
활용 예시
- 게임 내 진동 피드백: 사용자가 게임 내에서 특정 이벤트를 경험할 때(예: 공격 성공, 아이템 획득 시) 진동 효과를 추가하여 사용자 몰입도를 높일 수 있습니다.
- 장치 정보 기록: 사용자의 기기 정보를 기록하고 수집하여 버그 수정 및 최적화를 위한 데이터로 활용할 수 있습니다.
- 작업 표시기 사용: 로딩 화면을 구현할 때 작업 표시기를 사용하여 사용자에게 진행 상황을 전달할 수 있습니다.
결론
Unity를 통해 Android 기기와 상호작용하는 것은 매우 흥미롭고 유용한 개발 경험이 될 수 있습니다. 이 문서를 통해 기기 기능에 접근하고, 진동 및 작업 표시기와 같은 유용한 기능을 활용하여 더 나은 사용자 경험을 제공할 수 있습니다.