1.1. Unity SDK 설치
...
참고사항 |
---|
권장 버전을 사용하지 않을 경우, 아래와 같은 문제가 있습니다.
|
...
전달받은 KakaoGameSDK_Unity_[버전].zip 파일은 다음과 같은 파일들로 구성되어 있습니다.
파일 | 설명 |
---|---|
KakaoGameSDK.unitypackage |
|
SampleApp.zip |
|
ApiReference.zip |
|
1.1.3. SDK 설치
1.1.3.1. Unity 패키지 파일 import하기
...
KakaoGameSdk.unitypackage를 실행하면, Unity3d툴에서 import할 수 있는 메뉴가 뜹니다.
기존 SDK에서 필요한 항목이 체크된 상태로 import를 진행합니다.
경고 |
---|
이전 버전 SDK 파일들에 의해 컴파일 에러가 발생할 수 있습니다. |
...
Assets > Reimport All 또는 에디터를 재부팅하면 KGAssetImporter에 의해 자동으로 이전 SDK 파일들을 제거합니다.
...
먼저 카카오게임 속성 설정을 해야 합니다. 먼저 설정 항목에 대한 설명을 확인하시길 바랍니다.
카카오게임 SDK 속성 | ||||
---|---|---|---|---|
키 | 타입 | 필수 | 설명 | 예시 |
App Id | String | O | 아래 둘 중 한곳에서 확인할 수 있습니다. | 103815 |
App Secret | String | O | 카카오 개발자 페이지 > 내 어플리케이션 > 앱 선택 > 앱 설정 > 요약 정보에서 확인할 수 있는 네이티브 앱 키와 동일합니다. | 951b75bf17fe0885ab5106ba2a9f9bc9 |
Debug Level | String | X | SDK 로그 출력 레벨을 설정합니다. "Verbose", "Debug", "Error", "None" 중 하나를 선택할 수 있습니다. | None |
아래 그림과 같이 카카오게임 속성을 설정하도록 합니다.
설정 이후 잘 설정되었는지 확인하기 위해 Check configuration setting 버튼을 클릭합니다.
잘 설정되어있지 않을 경우, 아래와 같이 원인 문구가 나옵니다.
아래의 경우는 유효하지 않은 앱아이디를 사용하고 있어서 발생합니다.
기술PM님이 전달받은 앱아이디가 잘 등록되었는지 확인합니다. 잘 등록되어 있을 경우, 기술PM님께 문의부탁드립니다.
...
경고 |
---|
https://docs.unity3d.com/2018.4/Documentation/ScriptReference/iOS.Xcode.PBXCapabilityType.SignInWithApple.html |
|
만약, 사용중인 유니티 버전에서 위의 코드에서 빌드 에러가 발생한다면, 해당 유니티 버전이 signin with apple capabilities를 추가하는 기능을 지원하지 않는 버전입니다.
...
1.1.4.1. Permission 설정
unitypackage를 import 후에 Assets/Plugins/Android/AndroidManifest.xml 파일에 게임에서 사용할 permission을 추가
<uses-permission android:name="android.permission.XXXXXX" /> 형태로 추가
...
SDK unitypackage에서 제공하는 파일을 그대로 사용해주셔도 상관없습니다.
Unity 2022.2 이상을 사용할 경우
자동 생성된 파일에
코드 블럭 |
---|
// Make sure that you have the Google services Gradle plugin dependency id 'com.google.gms.google-services' version "4.3.15" apply false |
해당 구문을 추가해야합니다.
gradleTemplate.properties
...
Kakao SDK v3.8.3 이상 버전 사용 필수
Unity Inspector 내에 Etc Setting(Use as needed) -> Domains to use HTTP(Android) 항목에 Add 버튼을 통해 게임에서 사용할 http domain을 추가
3.10.0 이후 버전에서 다음카페뷰를 로드하는 API가 추가되었는데, 이 API를 사용하기 위해서 모든 HTTP Domain의 호출이 필요한데 아래와 같은 설정이 필요합니다.
Etc Setting -> HTTP Domain -> Use All HTTP Domain Check 설정
...
EDM가 필요한 라이브러리를 다운로드 해주는 Resolver라는 기능을 제공해주는데, 이와 관련한 설정이 제대로 세팅되었는지 체크가 필요합니다.
먼저, Android Resolver Setting을 클릭합니다. (Menu -> Assets → External Dependency Manager → Android Resolver → Settings)
다음과 같이 세팅합니다.(필요에 따라 다르게 세팅하셔도 상관없습니다.)
1.1.4.7. Main Activity 변경하는 방법
SDK에서 자동으로 mainActivity를 KGUnityPlayerActivity로 변경해주고 있습니다.
메인 액티비티를 변경하기 위해서는 KGSharedData.json를 열어서 customManifest
를 true로 세팅해주시면 됩니다.
1.1.5. iOS 설정
Unity3d툴에서 File -> Build Settings... 메뉴를 선택합니다.
아래와 같이 "Build Settings"창에서 Platfrom을 iOS로 설정하고, "Player Settings..."버튼을 클릭합니다.
카카오게임 SDK의 iOS 최소 지원 버전은 11.0입니다.
Build 버튼을 클릭하여 빌드합니다. 빌드가 성공하면, Xcode 프로젝트가 생성됩니다.
...
로그인시에 Start 호출 → Login 호출 후에 지원하는 IDP 로그인 창 노출 확인 후 카카오 로그인 선택
카카오 인증 정보를 입력 받을 수 있는 UI가 노출됨과 동시에 PC / Mac에 설정된 default web browser로 카카오 로그인 페이지 노출
로그인 페이지에서 카카오 계정으로 로그인 버튼을 누르면 최초에 카카오 계정으로 로그인 팝업이 떠서 로그인이 가능하고 웹 페이지 캐싱에 의해 로그인 한 적이 있으면 바로 로그인 한 응답이 웹 페이지에 노출
웹페이지에 응답으로 노출된 정보를 모두 복사해서 유니티 에디터 상으로 다시 돌아와서 입력창에 입력 후에 OK 버튼
위와 같은 과정을 다 거치면 카카오 인증이 완료되고, 인증된 정보 에디터 환경(C# SDK)에서 해당 정보를 가지고 지니 플랫폼에 로그인해서 정상적으로 playerId와 zat발급 및 로그인 프로세스 완료.
1.1.
...
8. Unity SDK 사용시 주의사항
1.1.
...
8.1. PlayerPref class 사용시 참고
iOS / Android Native SDK에서 내부로직 상 저장이 필요한 값들을 해당 앱 데이터에 저장하는 로직 존재.
개발사에서 게임 데이터 정리를 위해 PlayerPref deleteAll 호출하는 경우 있음 -> 이 경우 SDK에서 필요로 인해 저장한 데이터 삭제되게 되어 SDK 오동작이 발생.
개발사에서 사용하는 key / value를 정리해서 개발사에서 deleteAll이 아닌 deleteKey API를 사용해서 게임에서 저장한 게임 데이터만 삭제하도록 구현해야 함.