1.4 Windows SDK 설치
1.4. Windows SDK 설치
1.4.1. 설치 환경 및 실행 환경
최소 버전
Visual Studio 2017 이상
권장 버전
Visual Studio 2019
1.4.2. SDK 파일 구성
전달받은 KakaoGameSDK_Windows_[버전].zip 파일은 다음과 같은 파일들로 구성되어 있습니다.
파일/디렉토리 | 설명 |
---|---|
KGObject.h |
|
KGData.h |
|
KakaoGameLib.h |
|
KakaoGameLib.lib |
|
KakaoGameLibTest.exe |
|
Binary |
|
ApiReference |
|
1.4.3. SDK 설치
1.4.3.1. 프로젝트에 Library를 연결하고 DLL를 로딩하기
사용하는 프로젝트에 Binary폴더의 파일들을 복사합니다.
KGObject.h, KGData.h, KakaoGameLib.h, KakaoGameLib.lib와 KakaoGame.dll에 필요한 파일들을 복사합니다.
KakaoGame.dll 로딩함수를 실행합니다.
DLL 로딩
#include "KakaoGameLib.h"
#pragma comment (lib, "KakaoGameLib.lib")
// 파일이름으로 로딩 or 파일핸들로 로딩
KakaoGame::API::KGInit::initialize(TEXT("KakaoGame.dll"));
or
KakaoGame::API::KGInit::initialize(FPlatformProcess::GetDllHandle(TEXT("KakaoGame.dll"))); |
---|
1.4.3.2. 카카오게임 속성 설정
앱정보를 세팅합니다.
앱정보세팅
#include "KakaoGameLib.h"
std::wstring appId, appSecrest, appKey, appVersion;
// 앱아이디, 앱시크리트는 전달하는 정보를 입력합니다.
// 실행하시는 게임프로그램의 버전을 입력합니다.
// 카카오로그인세팅만 추가할때
KakaoGame::API::KGSetting kgSetting;
kgSetting.setAppInfo(appId, appSecret, appKey, appVersion);
// 여러 로그인IDP를 지원할때
std::map<std::wstring, std::wstring> kakaoSetting, facebookSetting, googleSetting, appleSetting, twitterSetting, gamaniaSetting;
kakaoSetting.insert(std::pair<std::wstring, std::wstring>(TEXT("clientId"), TEXT("kakao_client_id")));
facebookSetting.insert(std::pair<std::wstring, std::wstring>(TEXT("clientId"), TEXT("facebook_client_id")));
googleSetting.insert(std::pair<std::wstring, std::wstring>(TEXT("clientId"), TEXT("google_client_id")));
googleSetting.insert(std::pair<std::wstring, std::wstring>(TEXT("clientSecret"), TEXT("google_client_secret")));
appleSetting.insert(std::pair<std::wstring, std::wstring>(TEXT("clientId"), TEXT("apple_client_id")));
twitterSetting.insert(std::pair<std::wstring, std::wstring>(TEXT("consumerKey"), TEXT("twitter_client_key")));
twitterSetting.insert(std::pair<std::wstring, std::wstring>(TEXT("consumerSecret"), TEXT("twitter_client_secret")));
gamaniaSetting.insert(std::pair<std::wstring, std::wstring>(TEXT("clientId"), TEXT("gamania_client_id")));
// 페이스북, 구글 로그인 시 Scope를 추가로 설정하는 경우 사용 합니다. (추가 Scope를 사용하는 경우 기술PM과 협의가 필요합니다.)
facebookSetting.insert(std::pair<std::wstring, std::wstring>(TEXT("clientScope"), TEXT("user_friends")));
googleSetting.insert(std::pair<std::wstring, std::wstring>(TEXT("clientScope"), TEXT("https://www.googleapis.com/auth/googleplay.products")));
std::map<KakaoGame::Data::KGIdpCode, std::map<std::wstring, std::wstring>> idpSettings;
idpSettings.insert(std::pair<KakaoGame::Data::KGIdpCode, std::map<std::wstring, std::wstring>>(KakaoGame::Data::KGIdpCode::Kakao, kakaoSetting));
idpSettings.insert(std::pair<KakaoGame::Data::KGIdpCode, std::map<std::wstring, std::wstring>>(KakaoGame::Data::KGIdpCode::Facebook, facebookSetting));
idpSettings.insert(std::pair<KakaoGame::Data::KGIdpCode, std::map<std::wstring, std::wstring>>(KakaoGame::Data::KGIdpCode::Google, googleSetting));
idpSettings.insert(std::pair<KakaoGame::Data::KGIdpCode, std::map<std::wstring, std::wstring>>(KakaoGame::Data::KGIdpCode::SigninWithApple, appleSetting));
idpSettings.insert(std::pair<KakaoGame::Data::KGIdpCode, std::map<std::wstring, std::wstring>>(KakaoGame::Data::KGIdpCode::Twitter, twitterSetting));
idpSettings.insert(std::pair<KakaoGame::Data::KGIdpCode, std::map<std::wstring, std::wstring>>(KakaoGame::Data::KGIdpCode::Gamania, gamaniaSetting));
kgSetting.setAppInfo(appId, appSecret, idpSettings, appVersion);
// 서버타입
// 국내 : KakaoGame::Data::KGServerType::QA_Type, KakaoGame::Data::KGServerType::Real_Type
// 글로벌 : KakaoGame::Data::KGServerType::QA_Global_Type, KakaoGame::Data::KGServerType::Real_Global_Type
kgSetting.setServerType(KakaoGame::Data::KGServerType::Real_Type);
// 로그레벨(verbose, debug, error, none)
KakaoGame::API::KGInternal kgInternal;
kgInternal.setLogLevel(TEXT("none")); |
카카오게임 SDK관련 속성
키 | 타입 | 필수 | 설명 | 예시 |
---|---|---|---|---|
appId | String | O | 아래 둘 중 한곳에서 확인할 수 있습니다. | 103815 |
appSecret | String | O | 카카오 파트너센터 > 앱정보에서 확인할 수 있는 네이티브 앱 키 | 951b75bf17fe0885ab5106ba2a9f9bc9 |
appKey | String | 호출함수에따라 | 카카오 파트너센터 > 앱정보에서 확인할 수 있는 JavaScript 키 | 8fb581e48885cb370a0f203433653583 |
idpSettings | MAP | 호출함수에따라 | [ idp별 지정된키 값 ]
|
|
appVersion | String | O | 앱 버전을 설정합니다. 이 버전을 기반으로 앱의 업데이트 필요 여부를 자동으로 안내합니다. | 1.0.0 |
ServerType | int | X | SDK 와 연결될 플랫폼의 서버 타입을 설정합니다. 개발/테스트용 빌드에서는 "KakaoGame::Data::KGServerType::QA_Type"이나 "KakaoGame::Data::KGServerType::QA_Global_Type", 실제 서비스 용 빌드에서는 "KakaoGame::Data::KGServerType::Real_Type"이나 "KakaoGame::Data::KGServerType::Real_Global_Type" 로 설정하시면 됩니다. 기본 세팅은 "KakaoGame::Data::KGServerType::Real_Type"입니다. | KakaoGame::Data::KGServerType::Real_Type |
Debug Level | String | X | SDK 로그 출력 레벨을 설정합니다. "verbose", "debug", "error", "none" 중 하나를 선택할 수 있습니다. 기본은 "none"입니다. | none |