Unity 기반의 게임을 개발할 때 Hive SDK를 포팅하는 방법과 Android, iOS, Windows 앱으로 빌드하는 방법을 안내합니다.
개발 환경
Hive SDK가 지원하는 Unity 버전
- Unity 2018.4.24+
- Unity 2019.3.7+
- Unity 2020.1.0+
- Unity 2021.1.0+
- Unity 2018.4 LTS 이하 버전의 장기 지원이 종료됨에 따라 Unity는 향후 발생하는 버그 또는 이슈에 대해 조치하지 않습니다.
- Unity 2019.4 LTS는 2021년 중반까지는 2주에 한 번, 2022년 5월까지는 한 달에 한 번 업데이트 지원 후 종료될 예정입니다.
- Unity 2020은 현재 개발 중에 있으며, 최소 향후 2년간 업데이트 지원됩니다.
Windows
Hive SDK Unity Windows를 사용하려면 Unity 2021.3.22f 이상을 사용해야 합니다. 만약 Hive SDK v4.15.6 미만을 사용한다면 Assets/Hive_SDK_v4/Plugins/Windows/additional 폴더를 삭제하고 패키지를 가져와야 합니다.
Android
Hive SDK Unity Android를 사용하려면 다음 Gradle 버전이 필요합니다. Unity 버전별로 기본 설정된 Gradle 버전은 다음에서 확인할 수 있습니다. Unity에서 기본 설정된 Gradle 버전이 Hive SDK에서 요구하는 Gradle 버전보다 낮은 경우, Preferences > External Tools > Android > gradle에서 Gradle 버전을 설정할 수 있습니다. Gradle 다운로드에 대한 안내는 Gradle 빌드 도구를 참조하세요.
iOS
Hive SDK v4.15.4 이상에서는 반드시 Xcode 13 버전을 사용해야 합니다.
포팅하기
Unity 개발 환경을 이용한다면 Hive SDK를 플러그인의 형태로 Unity 개발 환경에 포팅해 주세요. 다음의 안내대로 Hive SDK를 개발 환경에 추가하고 필요한 설정 작업과 코드 작업을 수행하세요.
- Unity 개발 환경에 플러그인 추가하기
- 일반 설정하기
- 외부 라이브러리 추가하기
- Hive 설정하기
- 플러그인 초기화 코드 추가하기
개발 환경에 플러그인 추가하기
여러분의 게임 프로젝트를 Unity 개발 환경에서 열고, Assets > Import Package > Custom Package 메뉴에서 Plugin Package를 선택한 후 Hive 개발자 사이트에서 다운로드 받은 Unity용 Hive SDK를 선택하여 추가하세요.
Hive SDK가 정상적으로 추가되면 Unity 개발 환경 프로젝트 창에서 Hive SDK 파일을 볼 수 있습니다.
일반 설정하기
Android 앱과 iOS 앱의 설정 방법이 다릅니다. 다음 안내를 확인해 보세요.
Android
- File > Build Settings…를 클릭하세요. Build Settings 창이 나타납니다. Platform 목록에서 Android를 선택하세요.
- Switch Platform을 버튼을 클릭하세요. 플랫폼 스위치 과정이 진행됩니다.
- 플랫폼 스위치 과정이 완료되면 Build Settings 창에서 Player Settings… 버튼을 클릭하세요.
- Inspector 창의 Other Settings 섹션에서:
- Bundle Identifier 필드에 게임의 AppID를 입력하세요. 게임 AppID를 모른다면 선행 작업 섹션을 읽어 보세요.
- Minimum API Level을 API Level 19이상으로 설정하세요.
- Inspector 창의 Publish Settings 섹션에서 Signing Key를 설정하세요.
- 앱 최적화를 위해 R8 컴파일러를 사용하려면 다음 링크(R8(구, ProGuard) 구성 파일 설정)의 내용에 따라 R8 구성 파일을 설정하세요.
iOS
-
- File > Build Settings…를 클릭하세요. Build Settings 창이 나타납니다. Platform 목록에서 iOS를 선택하세요.
- Switch Platform 버튼을 클릭하세요. 플랫폼 스위치 과정이 진행됩니다.
- 플랫폼 스위치 과정이 완료되면 Build Settings 창에서 Player Settings… 버튼을 클릭하세요. Inspector 창이 나타납니다.
- Inspector 창에서:
- Bundle Identifier 필드에 발급 받은 게임의 AppID를 입력하세요. 게임 AppID를 모른다면 선행 작업 섹션을 읽어 보세요.
- Hive SDK가 지원하는 최소 iOS 버전대로 Target minimum iOS version을 설정하세요. Hive가 지원하는 최소 iOS버전은 8.0으로, Target Minimum iOS version 값을 8.0 이상으로 설정하세요.
Windows
Windows 프로젝트를 빌드하기에 앞서 에디터의 File > Build Settings…에서 다음과 같이 설정하세요.
- 빌드를 설정합니다.
- 타겟 플랫폼: Windows
- 아키텍처: x86_64
- Visual Studio 솔루션 생성 (선택사항): 선택 여부에 따라 빌드 방법이 달라집니다.
- 플레이어를 설정합니다. Build Settings… 창 하단 왼쪽의 Player Settings… 버튼을 누르거나 Inspector 창의 Player 카테고리에서 설정할 수 있습니다.
- 스크립팅 백엔드: IL2CPP
- API 호환성: .NET Standard 2.1
- Auto Graphics APIs for Windows: Direct3D11 또는 OpenGLCore
- HIVE_PLUGIN.dll 파일을 설정합니다. 아래의 이미지를 참고하여 Inspector 창에서 Assets\Hive_SDK_v4\Plugins\Windows 폴더의 HIVE_PLUGIN.dll 파일을 설정하세요.
Windows: 스팀을 타겟으로 빌드 시, 스팀 결제 설정
스팀을 타겟으로 빌드 시 IAPv4 모듈을 통한 스팀 결제를 지원합니다. 결제 방식은 기존 IAPv4와 동일합니다.
- 스팀웍스 문서를 참조하여 steam_appid.txt 리소스 파일을 준비합니다.
- 빌드가 끝난 후, 스팀웍스에서 sdk/redistributable_bin/win64/steam_api64.dll을 다운받아 게임 실행 파일이 있는 폴더로 복사합니다.
- 준비한 steam_appid.txt 파일을 게임 실행 파일 폴더로 복사합니다. 단, steam_appid.txt는 게임 상용 배포시 함께 배포하지 않도록 합니다.
외부 라이브러리 추가하기
Hive SDK는 UnityPackage 버전에 External-Dependency-Manager for Unity(구. GooglePlayServiceResolver, 이하 EDM4U) 패키지를 포함하여 배포하며, EDM4U 설정으로 빌드에 필요한 라이브러리를 자동 설치/배포하도록 구성되어 있습니다. EDM4U가 동작할 수 있는 빌드 환경이 마련되지 않았다면 이를 구축해야 합니다. EDM4U에서 제공하는 GUI를 이용하거나 Unix 셸인 Bash, 다시 말해 명령줄 인터페이스(CLI, Command Line Interface)를 통해서도 가능합니다.
Android
- Unity를 실행해 Asset > External Dependency Manager > Android Resolver > Settings 메뉴를 클릭합니다.
- Android Resolver Settings 창이 나타나면 빨간색으로 표시한 항목을 기본 설정으로 체크합니다.
- Copy and patch settingsTempalte.gradle from 2022.2 항목은 Unity 2022.2 이상 버전에서만 체크하세요.
- Use Jetifier 기능은 Hive SDK에서 자동 지원하므로 선택 해제를 권장합니다. Unity 최신 버전에서 Use Jetifier를 선택하면 Unity 가이드에 따라 Custom Gradle Properties Template을 생성해야 합니다.
Android 외부 라이브러리 의존성 설정하기
VK 라이브러리를 적용하기 위해서는 minSdkVersion 21 이상, targetSdkVersion 32 이상 버전이 필요합니다. 다음에 따라 VK 설정을 추가해주세요.
Line 라이브러리를 적용하기 위해서는 Hive SDK v4 23.0.0 이상 Android의 경우 minSdkVersion 24 이상 버전이 필요합니다.
Hive SDK v4 23.0.0 이상 적용 시 아래와 같은 설정 창이 표시됩니다.
- Google, GooglePlayGames IdP 사용 시 Google 체크박스를 활성화하세요.
- Hive SDK v4 23.0.0 미만: Google 체크 박스를 활성화하세요.
- Hive SDK v4 23.0.0 이상: Google IdP는 Google SignIn을, GooglePlayGames IdP는 Google Play Games 체크 박스를 활성화하세요.
- Facebook IdP 사용 시 Facebook 체크박스를 활성화하세요.
- Facebook Cloud Game 빌드를 만드려면 Android Unity 프로젝트 Facebook Cloud Game 빌드 설정하기 를 참고하세요
- Android의 Google InAppReview는 Promotion 설정을 필요로 합니다.
Hive SDK v4 24.2.0 이상에서는 Facebook Cloud Game 빌드를 지원하지 않습니다.
iOS
- CocoaPods 설치
- CocoaPods 설정
CocoaPods으로 iOS에서 사용하는 외부 라이브러리를 제공받을 경우 기존 .xcodeproj 파일의 확장자를 .xcworkspace로 변경해 제공합니다. .xcworkspace 형태로 빌드를 진행할 수 없다면 GUI를 이용해 설정을 변경해보세요. 빌드할 PC의 Unity에서 수행하는 CocoaPods 적용 방식이 변경되어 실행할 수 있습니다.
Firebase 사용을 위한 필수 파일 포함하기 (iOS)
Unity 프로젝트 Assets/ExternalResources/iOS 경로에 프로젝트 정보가 포함된 GoogleService-Info.plist 파일을 넣으면 Xcode 프로젝트 빌드 시 기본 메인 타겟(Unity-iPhone)과 연결됩니다.
Hive 설정하기
- 메뉴에서 Hive Edit Config 메뉴를 선택하세요. Inspector 화면이 나타납니다.
- Inspector 화면에서 Hive 이용에 필요한 값을 설정하세요.
- OS를 선택하세요.
- Authentication Version: 게임에서 사용하는 인증을 선택하세요.
- Auth v4를 선택했다면 게임에서 사용하는 IdP의 정보를 발급받아 입력하세요. IdP 정보 발급은 Hive 설정을 참고하세요.
- Facebook Settings: Facebook App ID 필드에 발급받은 게임의 Facebook App ID를 입력하세요.
- Google: Auth v4에서 Google 항목은 OS를 Android로 선택 시에만 노출됩니다.
- Google App Id 필드에 발급받은 AppID를 입력하세요.
- Google Server Client ID 필드에 발급받은 웹 애플리케이션의 Client ID값을 입력하세요.
- Google Play Games: Auth v4에서 Google Play Games 항목은 OS를 Android로 선택 시에만 노출됩니다.
- Google Play Games App Id 필드에 발급받은 AppID를 입력하세요.
- Google Play Games Server Client ID 필드에 발급받은 웹 애플리케이션의 Client ID값을 입력하세요.
- QQ App ID Settings: QQ App Id 필드에 발급받은 QQ App Id를 입력하세요. QQ는 Hive SDK v4.5.0이상부터 사용이 가능합니다.
- Auth v1을 선택했다면 게임에서 사용하는 SNS의 정보를 발급받아 입력하세요.
- Facebook Settings: Facebook App ID 필드에 발급받은 게임의 Facebook App ID를 입력하세요.
- Google Play Settings: GooglePlay App Id 필드에 발급받은 Google Play 게임의 AppID를 입력하세요.
- HiveConfig Settings: hive_config.xml 파일에서 설정하는 값 중 다음 값을 설정할 수 있습니다. Unity 개발 환경에서 생성하는 hive_config.xml 파일에 다음 값이 반영됩니다.
필드 설명 값 범위 Zone Hive 서버 환경 - Sandbox (디폴트)
- Live
Logging Hive 클라이언트의 내부 동작에 대한 로그 활성화 여부 - On (디폴트)
- Off
Push Hive가 제공하는 푸시 서비스를 이용할 것인지 여부 - On (디폴트)
- Off
Company 게임 퍼블리싱 업체 - 컴투스:C2S
- 컴투스홀딩스:GVI
Channel 게임 앱이 사용하는 로그인 서비스 플랫폼. Hive (디폴트) Market 본 앱을 출시할 마켓 - Android: GO (Google), LE (Lebi)
- iOS: AP (App Store)
hivePermissionViewOn Hive SDK 권한 고지 팝업 노출 여부 - On(기본 설정)
- Off
- HiveConfig Mobile App Tracking Settings: 이용할 마케팅 어트리뷰션에 대한 설정 값을 입력하세요. 이용할 마케팅 어트리뷰션 대시보드에서 발급 받은 AppID, 키 혹은 토큰 값을 입력하세요.
마케팅 어트리뷰션 설정 가이드 보기 - WriteExternalStoragePermission: Android에서 필요한 값으로, 외부 저장소 사용 권한을 유저에게 요청할 지 여부를 설정합니다. 체크하면 Hive 클라이언트가 단말기에서 초기화 될 때 유저에게 외부 저장소 권한을 요청합니다.
- Android, Auth v4 선택 시 Inspector 스크린샷
- Android, Auth v1 선택 시 Inspector 스크린샷
- iOS, Auth v4 선택 시 Inspector 스크린샷
- iOS, Auth v1 선택 시 Inspector 스크린샷
- Hive 설정 파일을 생성하세요.
- Android: Regenerate Android Manifest & Hive Config 버튼을 클릭해 AndroidManifest.xml 파일과 hive_config.xml 파일을 생성하세요. hive_config.xml 파일은 다음의 디렉토리에 생성됩니다.
- Unity 2021 이상
<프로젝트_루트>/Assets/HiveSDK/hive.androidlib/src/main/res/raw - Unity 2021 미만
<프로젝트_루트>/Assets/Plugins/Android/res/raw/
- Unity 2021 이상
- iOS: Regenerate iOS Plist Hive Config 버튼을 클릭해 Info.plist 파일과 hive_config.xml 파일을 생성하세요. hive_config.xml 파일은 다음의 디렉토리에 생성됩니다.
<프로젝트_루트>/Assets/Plugins/iOS/
- Android: Regenerate Android Manifest & Hive Config 버튼을 클릭해 AndroidManifest.xml 파일과 hive_config.xml 파일을 생성하세요. hive_config.xml 파일은 다음의 디렉토리에 생성됩니다.
Hive SDK 디버그 로그 확인
Hive SDK v4 24.2.0부터 Unity 프로젝트에서 Hive > Hive Debug Log를 활성화/비활성화하면 Hive SDK 디버그 로그 노출 여부를 선택할 수 있습니다. 기본값은 비활성화 상태입니다.
플러그인 초기화 코드 추가하기
Hive SDK Unity 플러그인을 사용하기 위해 GameObject를 생성하여 다음의 코드를 추가해 주세요. 코드는 반드시 Hive 클라이언트를 초기화하기 전 호출하세요.
1 2 3 4 5 |
void Awake () { //Hive 플러그인을 위한 게임 오브젝트를 생성한다. hive.HIVEUnityPlugin.InitPlugin(); } |
Android Unity 프로젝트 Facebook Cloud Game 빌드 설정하기
Hive SDK 4.16.1부터 Facebook Cloud Game 플랫폼을 위한 빌드를 정식 지원합니다. Facebook Cloud Game에 관한 자세한 내용은 Facebook Cloud Game 빌드 설정하기 항목을 참고하세요.
Android Unity 프로젝트에서 Facebook Cloud Game 플랫폼용 게임을 빌드하려면 다음 과정을 따르세요.
Hive SDK v4 23.0.0 미만
- 다음 파일에서 Facebook 모듈을 Facebook Cloud Game 모듈로 수정합니다.
- /Hive_SDK_v4/Dependencies/HIVESDK_ProviderFacebookDependencies.xml
- /Hive_SDK_v4/Editor/HIVESDK_ProviderFacebookDependencies.xml
-
Unity 프로젝트에서 Hive > ExternalDependency 항목에서 Facebook을 체크한 상태로 유지합니다.
1 2 3 4 5 6 7 |
// AS-IS <androidPackage spec="com.com2us.android.hive:hive-service-extension-facebook:HIVE_SDK_VERSION"/> // TO-BE <androidPackage spec="com.com2us.android.hive:hive-service-extension-facebookCloudGame:HIVE_SDK_VERSION"/> |
Hive SDK v4 23.0.0 이상
Unity 프로젝트 Hive > External Dependency에서 Auth Settings의 Facebook Cloud에 체크합니다. Push Settings와 Market Settings Facebook Cloud 관련 항목이 자동으로 체크됩니다. Facebook Cloud에 체크하면 Auth Settings의 Facebook 항목은 체크 해제됩니다.
Hive SDK v4 24.2.0 이상
Hive SDK에서 더는 Facebook Cloud Game 빌드를 지원하지 않습니다. Unity 프로젝트 Hive > Hive Dependencies(ExternalDependency)에서 Facebook Cloud Game 관련된 Auth, Market, Push Settings가 제거되었습니다. 기존에 사용중이었던 Unity 프로젝트였다면 ExternalDependency를 확인하고 변경된 설정을 확인 후 저장하세요.
Android Unity 프로젝트 Google Play Games on PC 빌드 설정하기
Hive 4.16.2부터 Google Play Games on PC를 정식 지원합니다. Google Play Games on PC에 관한 자세한 내용은 Google Play Games on PC 빌드 설정하기 항목을 참고하세요.
Android Unity 프로젝트에서 Google Play Games on PC용 게임을 빌드하려면 다음 과정을 따르세요.
Hive SDK v4 23.0.0 미만
- 다음 파일에서 기존 Google 모듈을 Google Play Games on PC 기능을 포함한 Google Play Games 모듈로 수정합니다.
- /Hive_SDK_v4/Dependencies/HIVESDK_ProviderGoogleDependencies.xml
- /Hive_SDK_v4/Editor/HIVESDK_ProviderGoogleDependencies.xml
1234567// AS-IS<androidPackage spec="com.com2us.android.hive:hive-service-extension-google:HIVE_SDK_VERSION"/>// TO-BE<androidPackage spec="com.com2us.android.hive:hive-service-extension-google-playgames:HIVE_SDK_VERSION"/> -
Unity 프로젝트에서 Hive > ExternalDependency 항목에서 Google을 체크한 상태로 유지합니다.
Hive SDK v4 23.0.0 이상
Unity 프로젝트 Hive > External Dependency에서 Auth Settings의 Google Play Games에 체크합니다.
일반 구글 로그인 지원
Android Unity 프로젝트에서 Google Play Games 로그인이 아닌 일반 구글 로그인을 적용하려면 다음 과정을 따르세요.
- 다음 파일에서 google-playgames 모듈을 제거하고 google-signin 모듈만을 남깁니다.
- /Hive_SDK_v4/Dependencies/HIVESDK_ProviderGoogleDependencies.xml
- /Hive_SDK_v4/Editor/HIVESDK_ProviderGoogleDependencies.xml
1234567<!-- AS-IS --><androidPackage spec="com.com2us.android.hive:hive-service-extension-google-signin:HIVE_SDK_VERSION"/><androidPackage spec="com.com2us.android.hive:hive-service-extension-google-playgames:HIVE_SDK_VERSION"/><!-- TO-BE --><androidPackage spec="com.com2us.android.hive:hive-service-extension-google-signin:HIVE_SDK_VERSION"/><!--<androidPackage spec="com.com2us.android.hive:hive-service-extension-google-playgames:HIVE_SDK_VERSION"/>--> - Unity 프로젝트 Hive > ExternalDependency 항목에서 Google을 체크한 상태로 유지합니다.
빌드하기
Unity 개발 환경을 이용한다면 OS별로 다음 안내에 따라 빌드해주세요.
Android 빌드하기
Unity 개발 환경에서 Android용 앱을 빌드하려면 다음의 안내 중 하나를 선택하여 수행하세요.
- Build Settings 창 이용하기:
- 바로 빌드하기: File > Build Run을 선택하세요.
Google Android Project Export용 빌드하기
Unity 개발 환경에서 개발한 프로젝트를 Google Android 프로젝트로 추출하려면 다음의 안내를 따라 수행하세요.
- File > Build Settings > Player Settings…를 선택하세요. Inspector 창이 나타납니다.
- Inspector 창의 Other Settings 섹션 아래 Bundle Identifier 값을 AppID와 동일한 값으로 입력하세요.
- Unity 개발 환경 버전에 따라 다음과 같이 수행하세요.
- Unity 5.5 이상:
- File > Build Settings…를 클릭하세요. Build Settings 창이 나타납니다.
- Platform 목록에서 Android를 클릭하세요.
- Export Project 필드의 값으로 Gradle을 선택하세요.
- Export 버튼을 클릭해 Android 프로젝트를 추출하세요.
- Unity 5.5 미만:
- Android Studio를 실행시키고, Import project (Eclipse ADT, Gradle, etc.) 옵션을 선택하세요.
- Unity3D Android 프로젝트 경로를 선택하여 추출한 프로젝트를 임포트하세요.
iOS 빌드하기
Hive SDK 필요 권한들을 Xcode 프로젝트에 자동으로 추가
Unity에서 Xcode 프로젝트 빌드 시 HivePostProcess.cs 파일을 사용하면 다음 항목들을 자동으로 설정하여 Hive SDK 동작에 필요한 권한들을 Xcode 프로젝트에 자동으로 추가합니다.
- info.plist 파일
- Signing & Capabilities
HivePostProcess.cs 파일에서 주석을 해제/추가하면 Hive SDK 기능 권한들을 info.plist 파일들과 Signing & Capabilities에 자동으로 추가/제거합니다.
예를 들어 Unity > Hive Dependencies에서 Firebase를 사용하도록 하고, Google Firebase 콘솔에서 다운로드한 GoogleService-Info.plist 파일을 Assets/ExternalResources/iOS 경로에 넣은 후, HivePostProcess.cs에 아래 코드를 작성하면, Unity로 빌드한 Xcode 프로젝트에 GoogleService-Info.plist 파일을 자동으로 연결합니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
private static void iOSSettingProject(string buildPath) { ... // GoogleService-Info.plist 파일을 Xcode 프로젝트에 자동으로 추가하는 기능을 비활성화하려면 아래 라인을 주석 처리해야함. iOSAddGoogleServiceInfoPlist(buildPath, project, targets[mainTarget]); ... } #if UNITY_IOS public static void iOSAddGoogleServiceInfoPlist(string buildPath, PBXProject project, string target) { var isUseFirebase = ExternalDependencyDictionaryManager.isUseDependency(ExternalDependencyType.Firebase); if (!isUseFirebase) { Debug.Log("[iOSAddGoogleServiceInfoPlist] ExternalDependencyType Firebase not use. Skip process."); return; } string[] filesToCopy = new string[] { "GoogleService-Info.plist", }; foreach (string file in filesToCopy) { var srcPath = Path.Combine("Assets/ExternalResources/iOS", file); var relativePath = Path.Combine("", file); var physicalPath = Path.Combine(buildPath, relativePath); if (!File.Exists(srcPath)) { Debug.Log("[iOSAddGoogleServiceInfoPlist] " + file + " not exist. Skip process."); continue; } Debug.Log("[iOSAddGoogleServiceInfoPlist] srcPath = " + srcPath); Debug.Log("[iOSAddGoogleServiceInfoPlist] relativePath = " + relativePath); Debug.Log("[iOSAddGoogleServiceInfoPlist] physicalPath = " + physicalPath); File.Copy(srcPath, physicalPath, true); var fileGuid = project.AddFile(physicalPath, relativePath); Debug.Log("[iOSAddGoogleServiceInfoPlist] fileGuid = " + fileGuid); project.AddFileToBuild(target, fileGuid); } } #endif |
Hive SDK 필요 권한들을 Xcode 프로젝트에 수동으로 추가
Unity 개발 환경에서 Hive > Build project post process settings > iOS 또는 Hive > Edit Config > Build iOS project post process settings로 Hive PostProcess 에디터를 실행하면 Hive SDK 기능중 원하는 기능만 선택해 Xcode 프로젝트 Signing & Capabilities 항목에 권한을 추가할 수 있습니다.
추가할 수 있는 Hive SDK 기능들은 다음과 같습니다.
- 푸시 알림(Push Notifications): 로컬, 리모트 푸시 기능 활성화 여부
- Development Mode: 개발용 프로비저닝 프로파일 인증서 사용 시 설정
- Release Mode: 배포용 프로비저닝 프로파일 인증서 사용 시 설정
- 백그라운드 모드(Remote Notifications): 앱이 백그라운드에 있을 때 리모트 푸시 알림을 수신할 것인지의 여부
- Apple 로그인(Sign In Apple): Sign In Apple 로그인 기능 활성화 여부
- Associated Domains(웹상에서 앱을 설치, 실행하도록 허용하는 도메인 주소): 앱의 Universal Link로 사용할 허용 도메인 리스트
- 인앱 구매(In-App Purchase): 인앱 구매 기능 활성화 여부
- 게임 센터(Game Center): Game Center 로그인 및 관련 기능 활성화 여부
Apply를 클릭하면 Xcode Signing & Capabilities에 선택한 기능들을 추가합니다. Reset을 클릭하면 설정값을 기본값으로 초기화합니다.
이 때, 설정한 값들은 JSON String 형식으로 Assets > Hive_SDK_v4 > PostProcess > iOS > HivePostProcessSettingIOS.txt에 저장됩니다.
Xcode 프로젝트 생성하기
iOS용 앱을 빌드하려면 다음의 안내를 따르세요:
- Unity 개발 환경에서 File > Build Settings…를 클릭하세요. Build Settings 화면이 나타납니다.
- Platform 목록에서 iOS를 클릭하세요.
- Build 버튼을 클릭하여 Xcode 프로젝트를 생성하세요.
- 1-3번 단계에서 생성한 프로젝트를 Xcode에서 여세요.
- Xcode에서 Build Settings 탭을 선택한 후 bitcode를 검색하세요. 검색 결과로 나온 Enable Bitcode 옵션을 No로 선택하세요.
Windows 빌드하기
빌드 설정 시 Visual Studio 솔루션 생성 선택 여부에 따라 아래의 선택 1.과 선택 2. 중 하나를 진행하세요.
- 에디터의 프로젝트에서 Assets\Plugins\Windows\res\hive_config.xml 파일을 준비하세요.
- Unity Build로 생성된 실행 파일 폴더에 Hive SDK 부가 파일(.dll, .pak, .bin 등의 리소스 파일)이 Assets\Hive_SDK_v4\Editor\HivePostprocess.cs에 의해 복사됩니다.
복사가 안되어 있는 경우에는 다음과 같이 직접 복사하세요.- Assets\Hive_SDK_v4\Plugins\desktop\hive_string → [실행 파일 폴더]\resources\hive_string
- Assets\Hive_SDK_v4\Plugins\Windows\additional → [실행 파일 폴더] (.meta 파일 제외)
- Assets\Plugins\Windows\res\hive_config.xml → [실행 파일 폴더>]\resources\hive_config.xml
- 버전 설정도 프로젝트에 설정되어 있는 버전을 이용하여 스크립트 Assets\Hive_SDK_v4\Editor\HivePostprocess.cs를 통해 진행됩니다.
결과물 실행 파일의 버전이 변경되지 않았다면, Assets\Hive_SDK_v4\Plugins\Windows\postBuildUtil\rcedit.exe를 이용하여 cmd 또는 powershell에서 직접 변경할 수 있습니다. (참고)
선택 1. Visual Studio 솔루션 생성 : False
선택 2. Visual Studio 솔루션 생성 : True
-
빌드 전 설정에서 설정한 환경으로 원하는 폴더에 Windows 타겟 Unity 빌드를 진행합니다.
Windows 빌드 완료 후 설정
유니티 빌드가 완료되면 다음 파일들이 생성됩니다.
- build
- Il2CppOutputProject
- [프로젝트 명] 폴더
- UnityPlayerStub
- [프로젝트 명].sln
- UnityCommon.props
- locales
- resources
- swiftshader
- .dll
- cef.subprocess.exe
- .pak
- .bin
- icudtl.dat
버전 설정
[프로젝트 명] 폴더 내 WindowsPlayerVersion.rc 파일에서FILEVERSION
과 PRODUCTVERSION
을 수정하여 버전 설정을 할 수 있습니다. 수정된 버전은 Hive 서버와 통신 시 appversion
정보로 사용됩니다.Visual Studio 빌드 및 Hive SDK 복사
- sln 을 Visual Studio로 열어 빌드 시 build\bin\x64\Debug(또는 Master) 폴더에 실행 파일(.exe)이 생성됩니다.
- Unity 2018.4.17의 결과물을 Visual Studio 2019로 실행 시 Retarget Solution 과정이 요구됩니다.
- Unity 빌드 시 생성된 폴더에서 [프로젝트 명_Data].sln와 UnityCommon.props를 제외한 파일들을 실행 파일과 같은 폴더에 복사합니다.
- locales, resources, swiftshader 폴더도 동일하게 복사합니다.
- hive_config.xml의 내용을 프로젝트에 맞춰서 수정하여 실행 파일 하위의 resources 폴더에 위치하도록 지정합니다. (appid, google 관련, facebook 관련)
- 게임에서 특별히 hive_config.xml에 입력된 마켓 값을 사용해야 하는 경우 Hive Store의 마켓 코드인
HS
를 입력하세요. (단, hive_config.xml에 입력된 마켓 값은 실제 서비스에 영향을 주지 않습니다.)
- 게임에서 특별히 hive_config.xml에 입력된 마켓 값을 사용해야 하는 경우 Hive Store의 마켓 코드인
- build\bin\프로젝트 명_Data 폴더를 실행파일이 있는 폴더로 복사합니다.
- build\bin\ [프로젝트 명_Data]\plugins 내 파일(.dll)은 중복되므로 삭제해도 무방합니다.
- 실행 파일이 위치한 폴더 대신 build\bin\ [프로젝트 명_Data]\plugins에 부가 .dll과 리소스를 두어도 일부분은 가능하나 동작하지 않는 기능이 있기 때문에 실행파일이 위치한 폴더로 복사해서 사용합니다.
앱 축소
앱 축소를 위해 Hive SDK에서 지원하는 16개국 언어 중 사용하지 않는 언어 리소스를 삭제할 수 있습니다.
-
Unity에서 Hive > Resouce Settings > UI Language (Android Only)을 클릭합니다.
-
언어 설정 창이 나타나면 사용해야 하는 언어를 선택하세요.
- OK를 누르고 설정을 마친 다음 앱을 다시 빌드하세요.
Unity 로그인 시뮬레이터 사용하기
Hive SDK v4 24.0.0 부터는 Unity 로그인 시뮬레이터를 사용하여 Hive Sandbox 서버 환경에서 사용 가능한 AuthV4 게스트 계정을 임시로 발급 받습니다.
Unity 로그인 시뮬레이터 기능은 Hive > LoginSimulator > Open AuthV4 Setting메뉴에서 아래와 같이 확인할 수 있습니다.
해당 기능을 사용하려면 아래의 조건을 충족해야 합니다.
- Unity-Build settings 메뉴에서 설정되어 있는 현재 플랫폼(iOS, Android, Windows, Mac)의 hive_config.xml에 appId 작성 (자동입력)
- Hive 인증키 입력
이후, Create 버튼을 누를 때마다 게스트 계정이 신규로 발급되며 계정 정보는 파일로 저장됩니다.
다음의 예제코드를 통해 임시 게스트 계정 정보를 획득할 수 있습니다.playerId
, playerToken
을 제외한 did
, 기타 부가 정보는 클라이언트에서 임시로 생성하거나 지정한 값 입니다.
1 2 3 4 5 6 7 8 9 10 |
// Hive Sandbox 서버에서 발급된 playerId long playerId = AuthV4LoginData.playerId; // Hive Sandbox 서버에서 발급된 playerToken string playerToken = AuthV4LoginData.playerToken; // 클라이언트에서 임시로 설정된 playerName string playerName = AuthV4LoginData.playerName; // 클라이언트에서 임시로 설정된 playerImageUrl string plalyerImageUrl = AuthV4LoginData.playerImageUrl; // 클라이언트에서 임시로 설정된 did (1000000000이상 2000000000미만의 임의 값) string did = AuthV4LoginData.did; |
Unity 스크립트 디버깅
Unity에서 Script Debugging 옵션을 활성화하여 앱을 빌드하면, IDE상에서 모바일 기기를 연결한 상태로 앱 동작을 확인하며 디버깅할 수 있습니다. 아래 Visual Studio IDE 예시를 참고하세요.