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

  • Object정의파일입니다.

KGData.h

  • Data정의파일입니다.

KakaoGameLib.h

  • API정의 파일입니다.

KakaoGameLib.lib

  • 프로젝트에서 참조할 라이브러리입니다.

KakaoGameLibTest.exe

  • 테스트프로그램입니다

Binary

  • SDK를 사용하기 위해 배포되는 파일들입니다.

ApiReference

  • Windows SDK의 API 레퍼런스 문서입니다.

 

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")));
#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

아래 둘 중 한곳에서 확인할 수 있습니다.
카카오 파트너센터 > 게임 관리 > 앱 선택 > 게임 세부정보
카카오게임3.0 어드민 -> 게임빌드 -> 클라이언트 버전 관리

103815

appSecret

String

O

카카오 파트너센터 > 앱정보에서 확인할 수 있는 네이티브 앱 키

951b75bf17fe0885ab5106ba2a9f9bc9

appKey

String

호출함수에따라

카카오 파트너센터 > 앱정보에서 확인할 수 있는 JavaScript 키

8fb581e48885cb370a0f203433653583

idpSettings

MAP

호출함수에따라

[ idp별 지정된키 값 ]

  1. Kakao

    • clientId : 카카오 파트너센터 > 앱정보에서 확인할 수 있는 JavaScript 키

  2. Facebook

    • clientId

  3. Google

    • clientId

    • clientSecret

  4. SigninWithApple

    • clientId

  5. Twitter

    • consumerKey

    • consumerSecret

  6. Gamania

    • clientId

 

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