목차 | ||||
---|---|---|---|---|
|
...
1. 설치 환경 및 실행 환경
최소 버전
Unity 2021.3.37f1 이상
권장 버전
Unity 2022.3.21f1 이상
참고사항 |
---|
권장 버전을 사용하지 않을 경우, 아래와 같은 문제가 있습니다.
|
2. SDK 파일 구성
전달받은 KakaoGamesSDK_Unity_[버전].zip 파일은 다음과 같은 파일들로 구성되어 있습니다.
파일 | 설명 |
---|---|
KakaoGamesSDK.unitypackage |
|
com.kakaogames.sdk-[버전].tgz |
|
SampleApp.zip |
|
ApiReference.zip |
|
3. SDK 설치
3.1. unitypackage 파일로 설치하기
먼저 Unity에서 게임 프로젝트를 오픈합니다.
KakaoGamesSDK.unitypackage를 실행하면, Unity에서 import할 수 있는 메뉴가 뜹니다. 모든 항목이 체크된 상태로 import를 진행합니다.
...
? 클릭 > 개인정보 보호 및 보안 설정 열기 클릭 > 확인 없이 허용 클릭 후
...
열기를 해줍니다.
...
3.1.1 Newtonsoft.Json 패키지 설치
SDK에서 newtonsoft-json을 사용하게 되면서 해당 패키지를 필수로 설치해야 합니다.
...
정보 |
---|
Package Manager로 설치하는 경우 자동으로 설치됩니다. |
3.2. Package Manager로 설치하기(tgz 파일)
Window - Package Manager를 열어 줍니다.
Add Package from tarball… 를 통해 종속 패키지를 설치해줍니다.
EDM, Firebase App, Firebase Crashlytics 순서로 설치해줍니다.
마찬가지로 com.kakaogames.sdk-<버전>.tgz 파일로 패키지를 설치해줍니다.
4. 카카오 게임 SDK 설정
4.1. 카카오게임 SDK 설정 인스펙터 열기
SDK 설치를 완료하면, Unity 메뉴에 KakaoGames/Configure SDK 라는 메뉴가 생긴걸 확인할 수 있습니다.
클릭시 KGTConfiguration.asset으로 이동됩니다. 혹은 바로 Assets/KakaoGames/KGTConfiguration.asset 파일의 Inspector를 확인할 수 있습니다.
KGTConfiguration.asset의 Inspector를 통해 카카오 게임에서 사용할 속성을 설정할 수 있습니다.
4.2. 공통 설정
4.2.1. 기본 설정
먼저 카카오게임 기본 설정을 작성해야 합니다. 먼저 설정 항목에 대한 설명을 확인하시길 바랍니다.
...
아래 그림과 같이 카카오게임 기본 설정을 작성합니다.
설정 이후 Test Configuration 버튼을 클릭합니다.
올바르게 설정되어 있을 경우
잘못 설정되어 있을 경우
4.3. Android 설정
4.3.1. 커스텀 빌드 파일 세팅
Player → Publishing Settings → Build로 이동하여 커스텀 파일을 세팅합니다.
...
| 2021.3 | 2022.3 | ||||
---|---|---|---|---|---|---|
필수로 사용하는 항목 |
|
| ||||
AndroidManifest.xml | SDK 내부 로직에 의해 자동으로 생성됩니다. | SDK 내부 로직에 의해 자동으로 생성됩니다. | ||||
mainTemplate.gradle | 반드시 체크가 필요하며 필요한 디펜던시스는 EDM에 의해 자동 세팅됩니다. External Dependency Manager를 통해 Android Dependencies가 세팅됩니다. | 반드시 체크가 필요하며 필요한 디펜던시스는 EDM에 의해 자동 세팅됩니다. External Dependency Manager를 통해 Android Dependencies가 세팅됩니다. | ||||
launcherTemplate.gradle | 자동생성된 파일에
해당 구문을 추가해야합니다. | 자동생성된 파일에
해당 구문을 추가해야합니다. | ||||
baseProjectTemplate.gradle | 자동생성된 파일에
해당 구문을 추가해야합니다. | 자동 생성된 파일에
해당 구문을 추가해야합니다. | ||||
gradleTemplate.properties | 유니티와 EDM에 의해 자동 생성된 파일을 사용하시면 됩니다. | 유니티와 EDM에 의해 자동 생성된 파일을 사용하시면 됩니다. | ||||
settingTemplate.gradle | 2021.3 버전에는 해당 파일이 없습니다. | 자동 생성된 파일을 사용하시면 됩니다. |
4.3.2. Permission 설정
Assets/Plugins/Android/AndroidManifest.xml 파일에 게임에서 사용할 permission을 추가할 수 있습니다.
코드 블럭 |
---|
<uses-permission android:name="android.permission.XXXXXX" /> |
4.3.3. google-services.json 세팅
게임 설정에 맞는 google-services.json 파일을 다운로드 합니다.
해당 파일을 다운로드 받은 후에 Assets/Plugins/Android 폴더 아래에 위치시킵니다.
firebase sdk에서 자동으로 google-services.xml 또는 google-services-desktop.json를 생성해줍니다.
firebase sdk를 설치하지 않는 경우, https://github.com/firebase/firebase-cpp-sdk에서 generate_xml_from_google_services_json.exe와 generate_xml_from_google_services_json.py을 다운로드 후 프로젝트에 추가해줍니다. 또는 수동으로 google-services.xml 또는 google-services-desktop.json을 직접 생성해줄 수 있습니다.
코드 블럭 |
---|
"generate_xml_from_google_services_json.exe" -i "{원본 google-services.json 경로}" -o "{프로젝트 경로}/Assets/Plugins/Android/KakaoGameSDK.androidlib/res/values/google-services.xml" -p "{패키지 이름}" |
4.4. iOS 설정
4.4.1. 최소 지원 버전 세팅
Unity3d툴에서 File -> Build Settings... 메뉴를 선택합니다.
아래와 같이 "Build Settings"창에서 Platfrom을 iOS로 설정하고, "Player Settings..."버튼을 클릭합니다.
카카오게임 SDK의 iOS 최소 지원 버전은 13.0입니다.
Build 버튼을 클릭하여 빌드합니다. 빌드가 성공하면, Xcode 프로젝트가 생성됩니다.
4.4.2. 멀티앱 로그인 설정
멀티 앱 로그인을 사용하고 싶은 게임에서는 인스펙터 상에서 Kakao MultiApp Login 체크 박스를 클릭 후에 빌드합니다.
...
정보 |
---|
중요 : 기존처럼 하나의 앱에서 사용할 게임들은 저 체크박스를 해제 상태로 두시면 됩니다.(저걸 켜면 redirect uri 설정이 잘못될 수 있어서 사용하지 않는 앱에서는 반드시 해제 상태로 두어야 합니다.) |
4.4.3. Native SDK 의존성 설정
Kakaogames/Edtior/KakaoGamesDependencies.xml에서 게임에서 사용하지 않는 의존성을 제거하거나 필요한 의존성만 추가할 수 있습니다.iosPods
속성에서 iosPod
항목을 필요에 따라 제거 및 추가합니다.
...
코드 블럭 |
---|
<?xml version="1.0" encoding="utf-8"?> <dependencies> <androidPackages> ... </androidPackages> <iosPods> <!-- 카카오 게임 Core Module --> <iosPod name="KakaoGameTubeSDK/KakaoGame" version="4.0.0" /> <!-- 카카오 게임 카카오 Module --> <iosPod name="KakaoGameTubeSDK/KakaoGameKakao" version="4.0.0" /> </iosPods> </dependencies> |
다음과 같이 설정할 수 있습니다.
4.4.4. iOS App Localization 설정
Localization 세팅을 위한 작업입니다.
...
Localization을 설치합니다.
Project Settings - Localization에서 Create를 클릭합니다.
Locale Generate를 하고 원하는 국가를 선택합니다.
MetaData에서 iOS-App Info를 클릭합니다.
Default 국가를 세팅합니다. 예제에서는 en을 사용합니다.
Window > Asset Management > Localization Scene Controls에서 Localization Table 창을 띄워주고 'App Data'라는 Table을 생성합니다.
Edit Table Collection에서 다국어 세팅을 해줍니다.
마지막으로 User Tracking Usage Description에 Table을 넣어줍니다.
정상적으로 세팅이 되었을 경우 다국어가 적용됩니다.
4.5. IDP 설정
4.5.1. 카카오 정보 설정
게임에서 카카오 인증을 사용할 경우, 설정 하도록 합니다.
카카오 인증을 사용할 경우, Kakao 체크 박스를 클릭합니다.
Windows SDK를 사용하는 경우 App Key를 설정합니다.
4.5.2. Signin with Apple 정보 설정
게임에서 Signin with Apple을 사용할 경우, 설정 하도록 합니다.
...
경고 |
---|
https://docs.unity3d.com/2018.4/Documentation/ScriptReference/iOS.Xcode.PBXCapabilityType.SignInWithApple.html |
4.6. Unity SDK 사용시 주의사항
4.6.1. PlayerPref class 사용시 참고
iOS / Android Native SDK에서 내부로직 상 저장이 필요한 값들을 해당 앱 데이터에 저장하는 로직 존재.
개발사에서 게임 데이터 정리를 위해 PlayerPref deleteAll 호출하는 경우 있음 -> 이 경우 SDK에서 필요로 인해 저장한 데이터 삭제되게 되어 SDK 오동작이 발생.
개발사에서 사용하는 key / value를 정리해서 개발사에서 deleteAll이 아닌 deleteKey API를 사용해서 게임에서 저장한 게임 데이터만 삭제하도록 구현해야 함.