모든 문서(일반 문서, 분류 문서, 파일(이미지, 사운드 등) 문서)는 분류가 달려 있어야 합니다.
--Administrator (토론)
Hub/docs/android/unity3d/getting started
컴투스위키
Hive | >> | >> |
플랫폼별 환경설정 가이드 Hive Unity3d_Android 환경설정 |
>> |
하이브 모듈 API 레퍼런스 |
>> |
하이브 기능 활용 가이드 |
목차 |
소개
이 문서는 Unity3d Android 플랫폼 환경에서의 Hub 2.x 라이브러리 적용을 위한 준비 및 프로젝트 설정에 대해 설명합니다.
배포 파일 구성 안내
유니티 배포 파일 구성은 유니티 샘플 프로젝트 중심으로 되어 있습니다.
- unity/PeppermintUnitySample - 유니티 샘플 프로젝트
- ./C2SHub2UnityAndroidPluginSample - 안드로이드 플러그인 샘플 프로젝트
- ./Assets/Plugins - 플러그인 폴더
- ./C2SHub2Plugin.cs - 플러그인 인터페이스 소스(c#)
- ./Android - 안드로이드 플러그인 폴더
- ./C2SHub2PluginAndroid.cs - 안드로이드 플러그인 구현 소스(c#)
- ./res - 안드로이드 플러그인 리소스 폴더
Android 플러그인 프로젝트
- Unity3d Android 플러그인에 필요한 jar파일을 생성합니다.
1. 샘플 및 라이브러리 프로젝트 임포트
- 위 "배포 파일 구성 안내"에서 설명한 안드로이드 플러그인 샘플 프로젝트(C2SHub2UnityAndroidPluginSample, 이하 "샘플 프로젝트"로 줄여 부름)를 이클립스 상에서 임포트 합니다.
- 이 샘플 프로젝트는 hub 모듈(Peppermint_dist)을 라이브러리 프로젝트로 설정해 놓고 있습니다. hub 모듈 및 hub 모듈이 다시 라이브러리로 설정하고 있는 외부 라이브러리들을 모두 임포트합니다. 각각의 svn 주소는 아래와 같습니다.
- Hub 모듈: svn://devbackup.com2us.com/Platform/program/Hub2.6/android/Peppermint_dist
- 페이스북 SDK: svn://devbackup.com2us.com/Platform/program/Hub2.6/android/facebook-4.18.0
- svn에 배포된 페이스북 SDK는 유저 정보 쿠키를 날리지 않도록 커스마이즈 한 버전입니다. 만약, 하이브 로그인 후, 페이스북 친구 리스트를 가져오는 식으로 게임이 설계돼 있을 경우, 반드시 svn 버전을 사용하시기 바랍니다.
- 구글 플레이 서비스: svn://devbackup.com2us.com/Platform/program/Hub2.6/android/google-play-services_lib_10084000
- 다시 한 번 정리하면, 샘플 프로젝트는 Peppermint_dist 프로젝트를 라이브러리로 설정하고, Peppermint_dist 프로젝트는 페이스북 SDK 및 구글 플레이 서비스를 라이브러리로 설정합니다. 이렇게 잘 설정되었나 확인합니다.
2. 프로젝트 수정
- Unity3d 프로젝트의 Bundle Identifier 값(사업지원팀에서 발급받은 앱아이디)으로 샘플 프로젝트의 패키지 이름을 변경합니다. 변경을 할 때 warning이 뜰 수 있는데, 무시하고 진행합니다.
- 샘플 프로젝트의 AndroidManifest.xml 파일을 열어서 package="{패키지 이름}" 부분을 수정합니다.
- 샘플 프로젝트의 src 화살표를 열면 패키지 이름이 노출됩니다("com.com2us.PeppermintUnitySample"로 되어 있을 것입니다). 여기서 패키지 이름을 선택하고 우클릭 Refactor -> Rename 을 선택합니다. 마찬가지로 패키지 이름을 변경해줍니다. 아래 스크린샷을 참조해주세요.
3. 프로젝트 빌드 및 jar 파일 추출
- 프로젝트를 빌드합니다. Project -> Build Project. Build Automatically가 체크돼있으면 실시간으로 빌드가 되고 있으므로 따로 해주지 않아도 되긴 하지만, 확실을 기하기 위해 그런 경우 프로젝트를 클린하고 재빌드 합니다.
- 빌드가 완료되면 $샘플 프로젝트 경로/bin/classes 폴더 아래 class 파일들이 생성됩니다. jar 유틸리티를 이용해 jar 파일을 생성합니다. classes 폴더로 이동하신 후에 터미널에서 "jar cf AndroidPlugin.jar ./com" 라고 치시면 됩니다.
Unity3d 프로젝트에 플러그인 적용
- Unity 프로젝트 내에 다음과 같이 하위 폴더를 생성합니다.
- (Unity프로젝트)/Assets/Plugins/Android
- (Unity프로젝트)/Assets/Plugins/Android/libs
- (Unity프로젝트)/Assets/Plugins/Android/res
1. 라이브러리 파일 복사
- 위 "3. 프로젝트 빌드 및 jar 파일 추출" 에서 생성된 AndroidPlugin.jar 파일 및 PeppermintUnitySample/Assets/Plugins/Android/libs 아래 있는 android-support-v4.jar, facebook-4.18.0.jar, google-play-services 관련 jar 파일(하단에 추가 설명), Peppermint.jar, weibo_sdk.jar 파일을 (Unity프로젝트)/Assets/Plugins/Android/libs 밑에 복사합니다.
- facebook-4.18 버전의 경우 (1) /facebook-4.18.0/libs 경로 안에 있는 17개의 jar파일이 모두 필요합니다. 동일하게 추가합니다. (android-support-v4.jar와 /facebook-4.18/libs의 support-v4.jar는 동일하므로 1개의 파일만 추가합니다.) (2) /facebook-4.18.0/externalLibs 경로에 있는 appcompat-v7, cardview-v7 라이브러리를 추가합니다. 각각의 라이브러리 경로 안에 /jars 폴더안에 classes.jar 파일을 appcompat-v7.jar 및 cardview-v7.jar로 변경하여(파일명 중복을 피하기 위해) 동일하게 추가합니다.
- google-play-services의 경우 /google-play-services_lib_10084000/jar 경로안의 auth-base-classes.jar, auth-classes.jar, base-classes.jar, basement-classes.jar, games-classes.jar, plus-classes.jar 6개 파일을 동일하게 추가합니다.
2. Resource 파일 복사 및 추가
- PeppermintUnitySample/Assets/Plugins/Android/res 폴더 아래 있는 하위 폴더 및 파일들 전부를 (Unity프로젝트)/Assets/Plugins/Android/res/ 밑으로 복사합니다.
- values/strings.xml 파일을 열어 SinaWeiboAppKey, applicationId는 새로 발급 받은 값으로 교체합니다. app_name도 게임 이름으로 바꿔줍니다.
<string name="SinaWeiboAppKey"> ($새로 발급 받은 시나 웨이보 앱키) </string>
<string name="applicationId"> ($새로 발급 받은 페이스북 앱아이디) </string>
<string name="app_name"> ($ 게임 이름) </string>
<string name="applicationId"> ($새로 발급 받은 페이스북 앱아이디) </string>
<string name="app_name"> ($ 게임 이름) </string>
3. 스크립트 추가 및 메니페스트 파일 작성
- Hub C#스크립트 복사
- PeppermintUnitySample/Assets/Plugins 에 위치한 C2SHub2Plugin.cs과 , PeppermintUnitySample/Assets/Plugins/Android 에 위치한 C2SHub2PluginAndroid.cs 파일을 유니티 프로젝트에 복사합니다.
- C2SHub2Plugin.cs 파일을 열어 아래 부분의 패키지 이름을 수정합니다.
- public static string APP_ID = "com.com2us.PeppermintUnitySample";
- public static string MAIN_ACTIVITY_NAME = "com.com2us.PeppermintUnitySample.MainActivity";
- AndroidManifest.xml 파일 작성
- PeppermintUnitySample/Assets/Plugins/Android에 있는 AndroidManifest.xml 파일을 복사해서 사용합니다. 이 파일을 (Unity프로젝트)/Assets/Plugins/Android 로 복사합니다.
- 복사한 AndroidManifest.xml 파일을 열어서 package="com.com2us.PeppermintUnitySample" 이라고 된 부분을 찾아서 게임에 알맞은 package 이름으로 변경합니다.
- mainActivity 를 게임에서 사용하는 activity 이름으로 변경합니다.
4. 하이브 모듈 초기화 등
- Hub/docs/android/getting_started를 참고하여 안드로이드 관련 사항을 적용합니다.
5.외부 라이브러리 의존성 설정
- HIVE SDK 동작에 필요한 외부 라이브러리들을 자동으로 추가 할 수 있는 External-Dependency-Manager for Unity (구: GooglePlayServiceResolver, 이하 EDM4U) 패키지를 사용하는 것을 권장합니다.
- EDM4U 사용 및 설정 가이드는 Module Dependency Guide 페이지의 내용을 확인해주세요.
Hive | >> | >> |
플랫폼별 환경설정 가이드 Hive Unity3d_Android 환경설정 |
>> |
하이브 모듈 API 레퍼런스 |
>> |
하이브 기능 활용 가이드 |