...
코드 블럭 | ||
---|---|---|
| ||
#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) 하기
...
동기식 예제
코드 블럭 | ||
---|---|---|
| ||
#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] 나머지 에러가 발생한 경우에는 에러 안내 후 스타트 재시도 요청 하여야 합니다. - 문제가 반복해서 발생하는 경우 에러코드 및 로그 확인 후 원인 파악이 필요합니다.
}
} |
비동기식 예제
코드 블럭 | ||
---|---|---|
| ||
#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] 나머지 에러가 발생한 경우에는 에러 안내 후 스타트 재시도 요청 하여야 합니다. - 문제가 반복해서 발생하는 경우 에러코드 및 로그 확인 후 원인 파악이 필요합니다.
}
}
}); |
로그인
...
발췌문 삽입 | ||||||||
---|---|---|---|---|---|---|---|---|
|
...