버전 비교

  • 이 줄이 추가되었습니다.
  • 이 줄이 삭제되었습니다.
  • 서식이 변경되었습니다.

...

코드 블럭
languagecpp
#include "KakaoGameLib.h"

KakaoGame::API::KGTApplication applicationApi;

applicationApi.start(GetSafeHwnd(), [this](KakaoGame::Data::KGTResult result) {
	if (result.isSuccess())
	{
		// 스타트가 성공 한 경우
		
		// 자동로그인 여부
		KakaoGame::API::KGTPlayer playerApi;
		boolean isLoggedIn = playerApi.isLoggedIn();
		
		if (isLoggedIn)
		{
			// 플랫폼에서 발급한 현재 Player의 ID
			KakaoGame::Data::KGTPlayer player;
			playerApi.getCurrentPlayer(player);
			
			std::wstring playerId = player.playerId; // 플랫폼에서 발급한 현재 Player의 ID
			std::wstring accessToken = playerApi.getAccessToken(); // 플랫폼 액세스 토큰(AccessToken)
			
			// [TODO] 게임 화면으로 이동 합니다.
		}
		else
		{
			// [TODO] 자동로그인이 안 된 경우 로그인 화면으로 이동 합니다.
		}
	}
	else
	{
		// 스타트가 실패 한 경우 - 초기화가 실패한 경우 이므로 스타트를 재시도 하거나 앱을 종료 하여야 합니다.
		if (KakaoGame::Data::KGTResultCode::NetworkFailure == result.code
			|| KakaoGame::Data::KGTResultCode::ServerTimeout == result.code
			|| KakaoGame::Data::KGTResultCode::ConnectionFailed == result.code)
		{
			// [TODO] 네트워크 에러가 발생한 경우에는 유저에게 네트워크 이슈로 스타트에 실패했음을 알리고 재시도
		}
		else
		{
			// [TODO] 나머지 에러가 발생한 경우에는 에러 안내 후 스타트 재시도 요청 하여야 합니다. - 문제가 반복해서 발생하는 경우 에러코드 및 로그 확인 후 원인 파악이 필요합니다.
		}
	}
});

특정 appId로 스타트 (Start) 하기

...

동기식 예제

코드 블럭
languagecpp
#include "KakaoGameLib.h"

// 사용자가 선택한 appId 또는 기존에 사용자가 선택한 appId를 저장 후 얻어오는 부분은 게임이 구현
std::wstring selectedAppId = TEXT("");

KakaoGame::Data::KGTResult result;
KakaoGame::API::KGTApplication applicationApi;

applicationApi.start(GetSafeHwnd(), selectedAppId, result);

if (result.isSuccess())
{
	// 스타트가 성공 한 경우
	
	// 자동로그인 여부
	KakaoGame::API::KGTPlayer playerApi;
	boolean isLoggedIn = playerApi.isLoggedIn();
	
	if (isLoggedIn)
	{
		// 플랫폼에서 발급한 현재 Player의 ID
		KakaoGame::Data::KGTPlayer player;
		playerApi.getCurrentPlayer(player);
		
		std::wstring playerId = player.playerId; // 플랫폼에서 발급한 현재 Player의 ID
		std::wstring accessToken = playerApi.getAccessToken(); // 플랫폼 액세스 토큰(AccessToken)
		
		// [TODO] 게임 화면으로 이동 합니다.
	}
	else
	{
		// [TODO] 자동로그인이 안 된 경우 로그인 화면으로 이동 합니다.
	}
}
else
{
	// 스타트가 실패 한 경우 - 초기화가 실패한 경우 이므로 스타트를 재시도 하거나 앱을 종료 하여야 합니다.
	if (KakaoGame::Data::KGTResultCode::NetworkFailure == result.code
		|| KakaoGame::Data::KGTResultCode::ServerTimeout == result.code
		|| KakaoGame::Data::KGTResultCode::ConnectionFailed == result.code)
	{
		// [TODO] 네트워크 에러가 발생한 경우에는 유저에게 네트워크 이슈로 스타트에 실패했음을 알리고 재시도
	} else
	{
		// [TODO] 나머지 에러가 발생한 경우에는 에러 안내 후 스타트 재시도 요청 하여야 합니다. - 문제가 반복해서 발생하는 경우 에러코드 및 로그 확인 후 원인 파악이 필요합니다.
	}
}

비동기식 예제

코드 블럭
languagecpp
#include "KakaoGameLib.h"

// 사용자가 선택한 appId 또는 기존에 사용자가 선택한 appId를 저장 후 얻어오는 부분은 게임이 구현
std::wstring selectedAppId = TEXT("");

KakaoGame::API::KGTApplication applicationApi;
applicationApi.start(GetSafeHwnd(), selectedAppId, [this](KakaoGame::Data::KGTResult result) {
	if (result.isSuccess())
	{
		// 스타트가 성공 한 경우
		
		// 자동로그인 여부
		KakaoGame::API::KGTPlayer playerApi;
		boolean isLoggedIn = playerApi.isLoggedIn();
		
		if (isLoggedIn)
		{
			// 플랫폼에서 발급한 현재 Player의 ID
			KakaoGame::Data::KGTPlayer player;
			playerApi.getCurrentPlayer(player);
			
			std::wstring playerId = player.playerId; // 플랫폼에서 발급한 현재 Player의 ID
			std::wstring accessToken = playerApi.getAccessToken(); // 플랫폼 액세스 토큰(AccessToken)
			
			// [TODO] 게임 화면으로 이동 합니다.
		}
		else
		{
			// [TODO] 자동로그인이 안 된 경우 로그인 화면으로 이동 합니다.
		}
	}
	else
	{
		// 스타트가 실패 한 경우 - 초기화가 실패한 경우 이므로 스타트를 재시도 하거나 앱을 종료 하여야 합니다.
		if (KakaoGame::Data::KGTResultCode::NetworkFailure == result.code
			|| KakaoGame::Data::KGTResultCode::ServerTimeout == result.code
			|| KakaoGame::Data::KGTResultCode::ConnectionFailed == result.code)
		{
			// [TODO] 네트워크 에러가 발생한 경우에는 유저에게 네트워크 이슈로 스타트에 실패했음을 알리고 재시도
		}
		else
		{
			// [TODO] 나머지 에러가 발생한 경우에는 에러 안내 후 스타트 재시도 요청 하여야 합니다. - 문제가 반복해서 발생하는 경우 에러코드 및 로그 확인 후 원인 파악이 필요합니다.
		}
	}
});

로그인

...

발췌문 삽입
로그인 SDK 예제
로그인 SDK 예제
namelogin
nopaneltrue

...