...
코드 블럭 | ||
---|---|---|
| ||
#include "KakaoGameV4.h" // 로그인 하고자 하는 IdpCode 셋팅 EKGTIdpCode idpCode = EKGTIdpCode::Kakao; // 특정 idp로 로그인 하기 FKGTPlayer::Login(idpCode, FKGTResultDelegate::CreateLambda([=](FKGTResult result) { if (result.IsSuccess()) { // 플랫폼에서 발급한 현재 Player의 ID FString playerId = FKGTPlayer::GetCurrentPlayer().GetPlayerId(); // 플랫폼 엑세스 토큰 FString accessToken = FKGTPlayer::GetAccessToken(); // 현재 IDP 인증 정보를 가져옴 FKGTIdpProfile idpProfile = FKGTPlayer::GetCurrentPlayer().GetIdpProfile(); // [TODO] 로그인이 성공하였으므로 게임 화면으로 이동합니다. } else { // IDP 로그인 혹은 플랫폼 로그인 실패 // [TODO] 로그인 실패 시 사용자 안내 후 재 시도 하도록 하여야 합니다. int32 resultCode = result.GetCode(); if (resultCode == FKGTResultCode::NetworkFailure || resultCode == FKGTResultCode::ServerTimeout || resultCode == FKGTResultCode::ServerConnectionFailed) { // [TODO] 네트워크 에러가 발생한 경우에는 유저에게 네트워크 이슈로 스타트에 실패했음을 알리고 재시도 } else if (resultCode == FKGTResultCode::Forbidden) { // [TODO] CBT기간동안 허용된 유저외에는 인증이 불가능 할 수 있습니다. 유저에게 안내메시지 처리가 필요합니다. } else if (resultCode == FKGTResultCode::UserCanceled) { // [TODO] 사용자가 로그인 진행 중 취소한 상황이므로 로그인 화면을 유지 하여야 합니다. } else { // [TODO] 나머지 에러가 발생한 경우에는 에러 안내 후 로그인 재시도 요청 하여야 합니다. - 에러코드 및 로그 확인 후 원인 파악이 필요합니다. } } })); |
...
로그아웃
...
발췌문 삽입 | ||||||||
---|---|---|---|---|---|---|---|---|
|
기본 로그아웃 UI를 사용하지 않는 로그아웃하기
발췌문 삽입 | ||||||||
---|---|---|---|---|---|---|---|---|
|
코드 블럭 | ||
---|---|---|
| ||
#include "KakaoGameV4.h" // 로그아웃 런처를요청 bool 통해서showUI 전달= 받은false; bridgeToken// FStringUI를 bridgeToken노출하지 =않도록 "";설정 FKGTPlayer::LoginWithBridgeTokenLogout(bridgeTokenshowUI, FKGTResultDelegate::CreateLambda([=](FKGTResult result) { if (result.IsSuccess()) { // 플랫폼에서로그아웃 발급한성공 현재 Player의 ID FString playerId = FKGTPlayer::GetCurrentPlayer().GetPlayerId(); // 플랫폼 엑세스 토큰[TODO] 시작 화면으로 돌아가기 } FString accessTokenelse = FKGTPlayer::GetAccessToken(); { // 현재로그아웃 IDP실패 인증 정보를 가져옴 FKGTIdpProfile idpProfile = FKGTPlayer::GetCurrentPlayer().GetIdpProfile(); } })); |
탈퇴
...
계정 연결
...
발췌문 삽입 | ||||||||
---|---|---|---|---|---|---|---|---|
|
기본 계정 연결 UI를 사용하지 않는 계정 연결하기
발췌문 삽입 | ||||||||
---|---|---|---|---|---|---|---|---|
|
코드 블럭 | ||
---|---|---|
| ||
#include "KakaoGameV4.h" // 로그인 하고자 하는 IdpCode 셋팅 EKGTIdpCode idpCode = EKGTIdpCode:Kakao; // 런처를특정 통해서idp로 전달계정 받은연결 부가 정보 TSharedPtr<FJsonObject> bridgeTokenPayload = FKGTPlayer::GetCurrentPlayer().GetBridgeTokenPayload(); // [TODO] 로그인이 성공하였으므로 게임 화면으로 이동합니다하기 FKGTPlayer::Connect(idpCode, FKGTResultDelegate::CreateLambda([=](FKGTResult result) { if (result.IsSuccess()) { // IDP 연결 성공 // Player ID 는 변경되지 않습니다. } else { // IDP 로그인 혹은 플랫폼 로그인 실패 // [TODO] 로그인 실패 시 사용자 안내 후 재 시도 하도록 하여야 합니다.연결 실패 int32 resultCode = result.GetCode(); if (resultCode == FKGTResultCode::NetworkFailureNotAuthorized) || resultCode == FKGTResultCode::ServerTimeout || resultCode == FKGTResultCode::ServerConnectionFailed) { // {현재 로그인이 안되어 있는 경우 // [TODO] 네트워크 에러가 발생한 경우에는 유저에게 네트워크 이슈로 스타트에 실패했음을 알리고 재시도 } else if (resultCode == FKGTResultCode::ForbiddenInvalidState) { // [TODO]현재 CBT기간동안인증 허용된된 유저외에는IDP 인증이가 불가능계정 할연결 수가능한 있습니다.idp가 유저에게아닌 안내메시지경우 처리가 필요합니다. } else if (resultCode == FKGTResultCode::UserCanceledAlreadyUsedIDPAccount) { // [TODO]이미 사용자가연결되어 로그인있는 진행계정이 중 취소한 상황이므로 로그인 화면을 유지 하여야 합니다.있는 경우 } else { // [TODO] 나머지 에러가 발생한 경우에는 에러 안내 후 로그인 재시도 요청 하여야 합니다. - 에러코드 및 로그 확인 후 원인 파악이 필요합니다. 기타 에러 발생 } } })); |
...
프로필
...
내 정보 조회하기
발췌문 삽입 | ||||||||
---|---|---|---|---|---|---|---|---|
|
기본 로그아웃 UI를 사용하지 않는 로그아웃하기
...
코드 블럭 | ||
---|---|---|
코드 블럭 | ||
| ||
#include "KakaoGameV4.h" FKGTPlayer player = FKGTPlayer::GetCurrentPlayer(); // 로그아웃플랫폼 요청playerId boolFString showUIplayerId = falseplayer.GetPlayerId(); // UI를플랫폼 노출하지AccessToken 않도록FString 설정accessToken = FKGTPlayer::Logout(showUI, FKGTResultDelegate::CreateLambda([=](FKGTResult result) { if (result.IsSuccess()) { GetAccessToken(); // idpProfile 정보 FKGTIdpProfile idpProfile = player.GetIdpProfile(); |
내 IDP 정보 조회하기
발췌문 삽입 | ||||||||
---|---|---|---|---|---|---|---|---|
|
코드 블럭 | ||
---|---|---|
| ||
#include "KakaoGameV4.h" FKGTPlayer player = FKGTPlayer::GetCurrentPlayer(); // 로그아웃IDP 성공정보 조회 FKGTIdpProfile idpProfile // [TODO] 시작 화면으로 돌아가기 } else { // 로그아웃 실패 } })); |
탈퇴
...
= player.GetIdpProfile();
EKGTIdpCode idpCode = idpProfile.GetIdpCode();
FString idpUserId = idpProfile.GetIdpUserId(); |
시스템 정보
...
언어 코드 가져오기
발췌문 삽입 | ||||||||
---|---|---|---|---|---|---|---|---|
|
...
코드 블럭 | ||
---|---|---|
| ||
#include "KakaoGameV4.h"
FString languageCode = FKGTSystem::GetLanguageCode(); |
국가 코드 가져오기
발췌문 삽입 | ||||||||
---|---|---|---|---|---|---|---|---|
|
코드 블럭 | ||
---|---|---|
| ||
#include "KakaoGameV4.h" //FString 로그인 하고자 하는 IdpCode 셋팅 EKGTIdpCode idpCode = EKGTIdpCode:Kakao; // 특정 idp로 계정 연결 하기 FKGTPlayer::Connect(idpCode, FKGTResultDelegate::CreateLambda([=](FKGTResult result) { if (result.IsSuccess()) { // IDP 연결 성공 // Player ID 는 변경되지 않습니다. } else { // IDP 연결 실패 int32 resultCode = result.GetCode(); if (resultCode == FKGTResultCode::NotAuthorized) { // 현재 로그인이 안되어 있는 경우 } else if (resultCode == FKGTResultCode::InvalidState) { // 현재 인증 된 IDP 가 계정 연결 가능한 idp가 아닌 경우 } else if (resultCode == FKGTResultCode::AlreadyUsedIDPAccount) { // 이미 연결되어 있는 계정이 있는 경우 } else { // 기타 에러 발생 } } })); |
프로필
내 정보 조회하기
...
코드 블럭 | ||
---|---|---|
| ||
#include "KakaoGameV4.h"
FKGTPlayer player = FKGTPlayer::GetCurrentPlayer();
// 플랫폼 playerId
FString playerId = player.GetPlayerId();
// 플랫폼 AccessToken
FString accessToken = FKGTPlayer::GetAccessToken();
// idpProfile 정보
FKGTIdpProfile idpProfile = player.GetIdpProfile(); |
내 IDP 정보 조회하기
...
코드 블럭 | ||
---|---|---|
| ||
#include "KakaoGameV4.h"
FKGTPlayer player = FKGTPlayer::GetCurrentPlayer();
// IDP 정보 조회
FKGTIdpProfile idpProfile = player.GetIdpProfile();
EKGTIdpCode idpCode = idpProfile.GetIdpCode();
FString idpUserId = idpProfile.GetIdpUserId(); |
시스템 정보
언어 코드 가져오기
...
코드 블럭 | ||
---|---|---|
| ||
#include "KakaoGameV4.h"
FString languageCode = FKGTSystem::GetLanguageCode(); |
국가 코드 가져오기
...
코드 블럭 | ||
---|---|---|
| ||
#include "KakaoGameV4.h"
FString countryCode = FKGTSystem::GetCountryCode(); |
IP 기반 국가 코드 가져오기
...
코드 블럭 | ||
---|---|---|
| ||
#include "KakaoGameV4.h"
FString geoCountryCode = FKGTSystem::GetGeoCountryCode(); |
기기 아이디 가져오기
...
코드 블럭 | ||
---|---|---|
| ||
#include "KakaoGameV4.h"
FString deviceId = FKGTSystem::GetDeviceId(); |
기기 모델 가져오기
...
코드 블럭 | ||
---|---|---|
| ||
#include "KakaoGameV4.h"
FString deviceModel = FKGTSystem::GetDeviceModel(); |
OS 이름 가져오기
...
코드 블럭 | ||
---|---|---|
| ||
#include "KakaoGameV4.h"
FString osName = FKGTSystem::GetOSName(); |
네트워크 연결 여부 가져오기
...
코드 블럭 | ||
---|---|---|
| ||
#include "KakaoGameV4.h"
bool isNetworkConnected = FKGTSystem::IsNetworkConnected(); |
연결된 네트워크 타입 가져오기
...
코드 블럭 | ||
---|---|---|
| ||
#include "KakaoGameV4.h"
FString networkType = FKGTSystem::GetNetworkType(); |
설정된 게임 언어 코드 가져오기
...
코드 블럭 | ||
---|---|---|
| ||
#include "KakaoGameV4.h"
FString gameLanguageCode = FKGTSystem::GetGameLanguageCode(); |
게임 언어 코드 설정하기
...
코드 블럭 | ||
---|---|---|
| ||
#include "KakaoGameV4.h"
// EKGTLanguageCode languageCode = EKGTLanguageCode::EN; // 영어
// EKGTLanguageCode languageCode = EKGTLanguageCode::KO; // 한국어
// EKGTLanguageCode languageCode = EKGTLanguageCode::JA; // 일어
// EKGTLanguageCode languageCode = EKGTLanguageCode::ZH_HANT; // 중국어 (번체)
// EKGTLanguageCode languageCode = EKGTLanguageCode::ZH_HANS; // 중국어 (간체)
EKGTLanguageCode languageCode = EKGTLanguageCode::Device; // 디바이스 설정 값
FKGTSystem::SetGameLanguageCode(languageCode) |
카카오 연동 기능
카카오톡 게임 메시지 수신 여부 설정하기
...
코드 블럭 | ||
---|---|---|
| ||
#include "KakaoGameV4.h"
// 카카오톡 게임 메시지 수신 여부 설정 뷰 띄우기
FKGTKakaoTalk::ShowSetting(FKGTResultWithIsAllowMeDelegate::CreateLambda([=](FKGTResult result, bool isAllowMe)
{
if (result.IsSuccess())
{
// 카카오톡 게임 메시지 수신 여부 설정 성공
// isAllowMe - 설정된 메시지 수신 허용 여부
}
else if (result.GetCode() == FKGTResultCode::NotKakaoTalkUser)
{
// 로그인 한 유저가 '카카오톡' 유저가 아닙니다. (카카오톡 유저가 아닌 경우)
}
else
{
// 카카오톡 게임 메시지 수신 여부 설정 실패
}
})); |
...
countryCode = FKGTSystem::GetCountryCode(); |
IP 기반 국가 코드 가져오기
발췌문 삽입 | ||||||||
---|---|---|---|---|---|---|---|---|
|
코드 블럭 | ||
---|---|---|
| ||
#include "KakaoGameV4.h"
FString geoCountryCode = FKGTSystem::GetGeoCountryCode(); |
기기 아이디 가져오기
발췌문 삽입 | ||||||||
---|---|---|---|---|---|---|---|---|
|
코드 블럭 | ||
---|---|---|
| ||
#include "KakaoGameV4.h"
FString deviceId = FKGTSystem::GetDeviceId(); |
기기 모델 가져오기
발췌문 삽입 | ||||||||
---|---|---|---|---|---|---|---|---|
|
코드 블럭 | ||
---|---|---|
| ||
#include "KakaoGameV4.h"
FString deviceModel = FKGTSystem::GetDeviceModel(); |
OS 이름 가져오기
발췌문 삽입 | ||||||||
---|---|---|---|---|---|---|---|---|
|
코드 블럭 | ||
---|---|---|
| ||
#include "KakaoGameV4.h"
FString osName = FKGTSystem::GetOSName(); |
네트워크 연결 여부 가져오기
발췌문 삽입 | ||||||||
---|---|---|---|---|---|---|---|---|
|
코드 블럭 | ||
---|---|---|
| ||
#include "KakaoGameV4.h"
bool isNetworkConnected = FKGTSystem::IsNetworkConnected(); |
연결된 네트워크 타입 가져오기
발췌문 삽입 | ||||||||
---|---|---|---|---|---|---|---|---|
|
코드 블럭 | ||
---|---|---|
| ||
#include "KakaoGameV4.h"
FString networkType = FKGTSystem::GetNetworkType(); |
카카오 연동 기능
...
카카오톡 게임 메시지 수신 여부 설정하기
발췌문 삽입 | ||||||||
---|---|---|---|---|---|---|---|---|
|
코드 블럭 | ||
---|---|---|
| ||
#include "KakaoGameV4.h" // 카카오톡 프로필 조회하기게임 메시지 수신 여부 설정 뷰 띄우기 FKGTKakaoTalk::TalkProfileShowSetting(FKGTResultWithKakaoTalkProfileDelegateFKGTResultWithIsAllowMeDelegate::CreateLambda([=](FKGTResult result, FKGTKakaoTalkProfilebool profileisAllowMe) { if (result.IsSuccess()) { // 카카오톡 프로필 조회 게임 메시지 수신 여부 설정 성공 // profileisAllowMe - 로그인한설정된 유저의메시지 카카오톡수신 프로필허용 정보여부 } else if (result.GetCode() == FKGTResultCode::NotKakaoTalkUser) { // 로그인 한 유저가 '카카오톡' 유저가 아닙니다. (카카오톡 유저가 아닌 경우) } else { // 카카오톡 프로필 조회카카오톡 게임 메시지 수신 여부 설정 실패 } })); |
카카오톡
...
프로필 조회하기
발췌문 삽입 | ||||||||
---|---|---|---|---|---|---|---|---|
|
코드 블럭 | ||
---|---|---|
| ||
#include "KakaoGameV4.h" // 게임카카오톡 친구프로필 목록 조회하기 FKGTKakaoTalk::FriendsTalkProfile(FKGTResultWithPlayerListDelegateFKGTResultWithKakaoTalkProfileDelegate::CreateLambda([=](FKGTResult result, TArray<FKGTPlayer>FKGTKakaoTalkProfile playerListprofile) { if (result.IsSuccess()) { // 카카오톡 게임프로필 친구 목록 조회 성공. for (FKGTPlayer player : playerList) { FKGTIdpProfile idpProfile = player.GetIdpProfile(); FKGTKakaoFriendProfile *kakaoFriendProfile// = (FKGTKakaoFriendProfile*)&idpProfile; }profile - 로그인한 유저의 카카오톡 프로필 정보 } else if (result.GetCode() == FKGTResultCode::NotKakaoTalkUser) { // 로그인 한 유저가 '카카오톡' 유저가 아닙니다. (카카오톡 유저가 아닌 경우) } else { // 카카오톡 게임 친구 목록프로필 조회 실패 } })); |
카카오톡 게임
...
친구 목록 조회하기
발췌문 삽입 | ||||||||
---|---|---|---|---|---|---|---|---|
|
...
language | cpp |
---|
...
코드 블럭 | ||
---|---|---|
| ||
#include "KakaoGameV4.h"
// 게임 친구 목록 조회하기
FKGTKakaoTalk::Friends(FKGTResultWithPlayerListDelegate::CreateLambda([=](FKGTResult result, TArray<FKGTPlayer> playerList)
{
if (result.IsSuccess())
{
// 카카오톡 게임 친구 목록 조회 성공.
for (FKGTPlayer player : playerList)
{
FKGTIdpProfile idpProfile = player.GetIdpProfile();
FKGTKakaoFriendProfile *kakaoFriendProfile = (FKGTKakaoFriendProfile*)&idpProfile;
}
}
else if (result.GetCode() == FKGTResultCode::NotKakaoTalkUser)
{
// 로그인 한 유저가 '카카오톡' 유저가 아닙니다. (카카오톡 유저가 아닌 경우)
}
else
{
// 카카오톡 게임 친구 목록 조회 실패
}
})); |
카카오톡 게임 메시지 보내기
발췌문 삽입 | ||||||||
---|---|---|---|---|---|---|---|---|
|
코드 블럭 | ||
---|---|---|
| ||
#include "KakaoGameV4.h" // friends API를 통해 가져온 카카오 친구 프로필 FKGTKakaoFriendProfile *kakaoFriendProfile; // [TODO] 템플릿 Id 설정 FString templateId = TEXT(""); // [TODO] 메시지 템플릿에 설정한 인자 설정 TMap<FString, FString> argumentDic; argumentDic.Add(TEXT("${nickname}"), kakaoFriendProfile->GetNickname()) argumentDic.Add(TEXT("rog_link"), TEXT("test=100&hello=20111")); // 카카오톡 게임 메시지 보내기 FKGTKakaoTalk::SendGameMessage((*kakaoFriendProfile), templateId, argumentDic, FKGTResultDelegate::CreateLambda([=](FKGTResult result) { if (result.IsSuccess()) { // 카카오톡 채팅 메시지 보내기 실패 } } })); |
카카오톡 친구 초대 메시지 전송하기
...
코드 블럭 | ||
---|---|---|
| ||
#include "KakaoGameV4.h" // [TODO] 팝업창으로 띄울지 여부 설정 bool isSingle = true; // [TODO] 팝업창으로 띄울지 여부 설정 bool isPopup = true;성공 } else { if (result.GetCode() == FKGTResultCode::MessageSettingDisabled) { // [TODO]받은이가 템플릿메시지 Id수신 설정거부를 FString설정한 templateId경우 = TEXT(""); // [TODO] 메시지 템플릿에} 설정한 인자 설정 TMap<FString, FString>else argumentDic;if argumentDic(result.Add(TEXT("${nickname}"), TEXT("nickname")); FKGTKakaoTalk::SendInviteMessage(isSingle, isPopup, templateId, argumentDic, FKGTResultWithKakaoUserListDelegate::CreateLambda([=](FKGTResult result, TArray<FKGTKakaoUser> users) { if (result.IsSuccess()) { // 카카오톡 초대 메시지 보내기 성공 for (FKGTKakaoUser user : usersGetCode() == FKGTResultCode::ExceedDailyUsage) { // 한명이 특정 앱에 대해 보낼 수 있는 하루 쿼터(받는 사람 관계없이) 초과시 발생 } else if (result.GetCode() == FKGTResultCode::ExceedMonthlyUsage) { // 유저가 초대 메시지를 전송한 유저 목록 확인 한명이 특정 앱에 대해 특정인에게 보낼 수 있는 한달 쿼터 초과시 발생 } } else else { // 카카오톡 전부채팅 메시지 실패한보내기 경우(공통된실패 원인 리턴해주기 필요) } if (result.GetCode() == FKGTResultCode::MessageSettingDisabled) { } })); |
카카오톡 친구 초대 메시지 전송하기
발췌문 삽입 | ||||||||
---|---|---|---|---|---|---|---|---|
|
코드 블럭 | ||
---|---|---|
| ||
#include "KakaoGameV4.h" // [TODO] 팝업창으로 띄울지 여부 설정 bool isSingle = true; // 받은이가 메시지 수신 거부를 설정한 경우 [TODO] 팝업창으로 띄울지 여부 설정 bool isPopup = true; } // [TODO] 템플릿 Id else설정 if (result.GetCode() == FKGTResultCode::ExceedDailyUsage) { // 한명이 특정 앱에 대해 보낼 수 있는 하루 쿼터(받는 사람 관계없이) 초과시 발생 } elseFString templateId = TEXT(""); // [TODO] 메시지 템플릿에 설정한 인자 설정 TMap<FString, FString> argumentDic; argumentDic.Add(TEXT("${nickname}"), TEXT("nickname")); FKGTKakaoTalk::SendInviteMessage(isSingle, isPopup, templateId, argumentDic, FKGTResultWithKakaoUserListDelegate::CreateLambda([=](FKGTResult result, TArray<FKGTKakaoUser> users) { if (result.GetCodeIsSuccess() == FKGTResultCode::ExceedMonthlyUsage) { // 한명이카카오톡 특정초대 앱에메시지 대해보내기 특정인에게성공 보낼 수 있는 한달 쿼터for 초과시(FKGTKakaoUser 발생user : users) } else { // 유저가 카카오톡초대 메시지를 채팅전송한 메시지유저 보내기목록 실패확인 } } })); |
카카오톡 채널 추가하기
...
코드 블럭 | ||
---|---|---|
| ||
#include "KakaoGameV4.h" //else [TODO] 채널 Id{ 설정 int32 channelId = 0;// FKGTKakaoTalk::AddChannel(channelId, FKGTResultDelegate::CreateLambda([=](FKGTResult result) {전부 실패한 경우(공통된 원인 리턴해주기 필요) if (result.IsSuccessGetCode() == FKGTResultCode::MessageSettingDisabled) { // 채널 추가 성공 받은이가 메시지 수신 거부를 설정한 경우 } else if (result.GetCode() == FKGTResultCode::NotKakaoTalkUserExceedDailyUsage) { { // 로그인 한 유저가 '카카오톡' 유저가 아닙니다. (카카오톡 유저가 아닌 경우) } else {// 한명이 특정 앱에 대해 보낼 수 있는 하루 쿼터(받는 사람 관계없이) 초과시 발생 //} 채널 추가 실패 else } })); |
구글 게임
업적 달성 화면 보여주기
...
코드 블럭 | ||
---|---|---|
| ||
#include "KakaoGameV4.h"if (result.GetCode() == FKGTResultCode::ExceedMonthlyUsage) { // 구글한명이 게임특정 업적앱에 정보 화면 보여주기 FKGTGoogleGamesAchievements::ShowAchievementView(); |
업적 달성
...
코드 블럭 | ||
---|---|---|
| ||
#include "KakaoGameV4.h"
// [TODO] 업적 아이디 설정
FString id = TEXT("");
// 업적 달성
FKGTGoogleGamesAchievements::Unlock(id); |
업적 노출하기
...
코드 블럭 | ||
---|---|---|
| ||
#include "KakaoGameV4.h"
// [TODO] 업적 아이디 설정
FString id = TEXT("");
FKGTGoogleGamesAchievements::Reveal(id); |
업적 단계 증가
...
대해 특정인에게 보낼 수 있는 한달 쿼터 초과시 발생
}
else
{
// 카카오톡 채팅 메시지 보내기 실패
}
}
})); |
카카오톡 채널 추가하기
발췌문 삽입 | ||||||||
---|---|---|---|---|---|---|---|---|
|
코드 블럭 | ||
---|---|---|
| ||
#include "KakaoGameV4.h"
// [TODO] 업적 아이디 설정
FString id = TEXT("");
int32 numSteps = 0;
FKGTGoogleGamesAchievements::SetSteps(id, numSteps); |
업적 단계 설정
...
코드 블럭 | ||
---|---|---|
| ||
#include "KakaoGameV4.h" // [TODO] 업적 아이디 설정 FString id = TEXT(""); int32 numSteps = 0; FKGTGoogleGamesAchievements::Increment(id, numSteps] 채널 Id 설정 int32 channelId = 0; FKGTKakaoTalk::AddChannel(channelId, FKGTResultDelegate::CreateLambda([=](FKGTResult result) { if (result.IsSuccess()) { // 채널 추가 성공 } else if (result.GetCode() == FKGTResultCode::NotKakaoTalkUser) { // 로그인 한 유저가 '카카오톡' 유저가 아닙니다. (카카오톡 유저가 아닌 경우) } else { // 채널 추가 실패 } })); |