Unity Android 플러그인 가이드
이 문서는 Unity에서 Android 플러그인을 생성하고 사용하는 방법에 대해 설명합니다. 기본 Unity 활동을 확장하고 어떻게 커스텀 활동을 만들 수 있는지에 대한 간단한 가이드를 제공합니다.
커스텀 활동 생성
기본 Unity 활동을 확장하려면 아래와 같은 절차를 따릅니다:
- 새 활동 생성:
UnityPlayerActivity클래스를 확장하는 새 활동을 생성합니다. - 플러그인 생성: 생성한 활동을 최종 Unity Android 애플리케이션에 전달하기 위한 플러그인을 생성합니다.
- Android 매니페스트 오버라이드: 새 활동을 애플리케이션의 엔트리 포인트로 설정합니다.
새 활동 생성하기
- Assets 폴더에서 파일 생성: 새 Java (.java) 또는 Kotlin (.kt) 파일을 생성합니다.
- UnityPlayerActivity 연장: 새 파일에서
UnityPlayerActivity를 연장하는 클래스를 생성합니다. - 기본 메서드 오버라이드: 원하는 커스텀 기능을 구현하기 위해 다양한 기본 활동 메서드를 오버라이드합니다.
자세한 내용은 Android의 활동 문서를 참조해주세요.
예제 활동
아래 코드는 여러 함수를 오버라이드하는 활동의 예시입니다.
package com.company.product;
import com.unity3d.player.UnityPlayerActivity;
import android.os.Bundle;
import android.util.Log;
public class OverrideExample extends UnityPlayerActivity {
protected void onCreate(Bundle savedInstanceState) {
// Calls UnityPlayerActivity.onCreate()
super.onCreate(savedInstanceState);
// Prints debug message to Logcat
Log.d("OverrideActivity", "onCreate called!");
}
public void onBackPressed()
{
// Instead of calling UnityPlayerActivity.onBackPressed(), this example ignores the back button event
// super.onBackPressed();
}
}
활동을 위한 플러그인 생성
Unity Android 애플리케이션에서 커스텀 활동을 사용하려면 해당 활동을 포함할 플러그인을 만들어야 합니다. 이 과정에서 Java 또는 Kotlin으로 코드를 작성하게 되며, 사용할 플러그인 타입은 다음과 같습니다:
| 플러그인 타입 | 설명 |
|---|---|
| Android 라이브러리 프로젝트 | 다른 프로젝트에서 재사용할 수 있는 플러그인 |
| Android 아카이브 플러그인 | 여러 프로젝트에서 사용할 수 있는 통합 패키지 |
| JAR 플러그인 | Java로 작성된 클래스의 집합 |
| Java 및 Kotlin 소스 플러그인 | 특정 프로젝트에서만 사용할 수 있는 코드 |
플러그인을 개발할 때는 Android 라이브러리 프로젝트로 시작하고, 구현이 완료된 후 다른 프로젝트에 배포할 경우 Android 아카이브 플러그인으로 컴파일 하는 것이 좋습니다.
활동을 애플리케이션 엔트리 포인트로 설정
활동 파일을 플러그인에 추가한 후, 이를 애플리케이션의 엔트리 포인트로 설정할 수 있습니다. 이를 위해 Android 매니페스트를 오버라이드하고 activity 요소의 name 속성을 사회 커스텀 활동 클래스명으로 설정합니다. 아래는 그 예시입니다.
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.company.product">
<application android:icon="@drawable/app_icon" android:label="@string/app_name">
<activity android:name="com.YourPackage.name.OverrideExample"
android:theme="@style/UnityThemeSelector"
android:label="@string/app_name"
|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|
|---|---|---|---|---|---|---|---|---|---|---|
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
결론
이 가이드를 통해 Unity에서 Android 플러그인과 커스텀 활동을 생성하는 방법을 이해할 수 있기를 바랍니다. Unity 개발 환경에서 더 나은 사용자 경험과 기능을 제공하기 위해 이 문서를 참고하시기 바랍니다.