버전 비교

  • 이 줄이 추가되었습니다.
  • 이 줄이 삭제되었습니다.
  • 서식이 변경되었습니다.
목차
minLevel1
maxLevel6
outlinefalse
stylenone
typelist
printablefalse

...

Initialization and Status Change Event Processing

...

SDK Initialization

발췌문 삽입
초기화 및 상태변화 이벤트 처리 SDK 예제초기화 및 상태변화 이벤트 처리 SDK 예제Initialization and Status Change Event Processing SDK Example
Initialization and Status Change Event Processing SDK Example
nameapplication_init_sdk
nopaneltrue

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

/**
 * Perform initialization using the information set in Unreal Editor
 */
FKGTApplication::InitSDK();

Start

발췌문 삽입
EN_Initialization and Status Change Event Processing SDK ExampleEN_
Initialization and Status Change Event Processing SDK Example
nameapplication_start
nopaneltrue

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

FKGTApplication::Start(FKGTResultDelegate::CreateLambda([=](FKGTResult result)
{
  if (result.IsSuccess())
  {
    // If the start is successful
    
    // Check if auto-login is enabled
    bool isLoggedIn = FKGTPlayer::IsLoggedIn();
    
    if (isLoggedIn)
    {
      // The current Player's ID issued by the platform
      FString playerId = FKGTPlayer::GetCurrentPlayer().GetPlayerId();

      // Platform access token
      FString accessToken = FKGTPlayer::GetAccessToken();

      // Retrieve the current IDP authentication information
      FKGTIdpProfile idpProfile = FKGTPlayer::GetCurrentPlayer().GetIdpProfile();

      // [TODO] Move to the game screen.
    }
    else
    {
      // [TODO] If auto-login is not enabled, move to the login screen.
    }
  }
  else
  {
    // If the start fails - Initializationsince initialization failed, so you should either retry the start or close the app.
    int32 resultCode = result.GetCode();

    if (resultCode == FKGTResultCode::NetworkFailure || resultCode == FKGTResultCode::ServerTimeout || resultCode == FKGTResultCode::ServerConnectionFailed)
    {
      // [TODO] If a network error occurs, notify the user that the start failed due to a network issue and retry.
    }
    else
    {
      // [TODO] If other errors occur, notify the user and request a retry of the start process. If the issue persists, check the error code and logs to determine the cause.
    }
  }
}));

Pause

발췌문 삽입
초기화 및 상태변화 이벤트 처리 SDK 예제초기화 및 상태변화 이벤트 처리 SDK 예제Initialization and Status Change Event Processing SDK Example
Initialization and Status Change Event Processing SDK Example
nameapplication_pause
nopaneltrue

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

// Called when the game enters a background state (e.g., switching to another app or exiting via the home button).
// Register with ApplicationWillEnterBackgroundDelegate so that SDK Pause can be called.
FCoreDelegates::ApplicationWillEnterBackgroundDelegate.AddUObject(this, &UApplicationWidget::Pause);

FKGTApplication::Pause(FKGTResultDelegate::CreateLambda([=](FKGTResult result) {
  // The result always returns a success (200) response.
}));

Resume

발췌문 삽입
초기화 및 상태변화 이벤트 처리 SDK 예제초기화 및 상태변화 이벤트 처리 SDK 예제Initialization and Status Change Event Processing SDK Example
Initialization and Status Change Event Processing SDK Example
nameapplication_resume
nopaneltrue

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

// Called when the game returns to the foreground
// Register with ApplicationHasEnteredForegroundDelegate so that SDK Resume can be called.
FCoreDelegates::ApplicationHasEnteredForegroundDelegate.AddUObject(this, &UApplicationWidget::Resume);

FKGTApplication::Resume(FKGTResultDelegate::CreateLambda([=](FKGTResult result) {
	if (result.IsSuccess())
	{
		// [TODO] If the resume is successful, resume the game screen.
	}
	else
	{
		// [TODO] If the resume fails, ifnavigate it'sto anthe authenticationlogin failure,screen goif toit’s thean loginauthentication screenfailure; otherwise, show an error popup and check whetherif the user wants to retry.
		if (result.Code == FKGTResultCode::AuthFailure || result.Code == FKGTResultCode::IdpAuthFailure)
        {
			// [TODO] InIf casethe ofstart authenticationfails failure,- moveInitialization tofailed, theso startyou screenshould andeither performretry the start newor loginclose flowthe againapp.
		}
		else
		{
			// [TODO] If other errors occur, provide an error notification and retry the resume. If the issue persists, close the app.
		}
	}
});

Setting Up Auto Login in a Windows Environment

발췌문 삽입
초기화 및 상태변화 이벤트 처리 SDK 예제초기화 및 상태변화 이벤트 처리 SDK 예제Initialization and Status Change Event Processing SDK Example
Initialization and Status Change Event Processing SDK Example
nameapplication_set_use_auto_login
nopaneltrue

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

// Set whether to use auto-login; if not set, it defaults to not using auto-login
// When auto-login is enabled and login is successful, auto-login information is generated
// If auto-login information exists, auto-login will proceed automatically during the next KGTApplication start, so to remove the auto-login information, you need to log out
bool useAutoLogin = true;
FKGTApplication::SetUseAutoLogin(useAutoLogin);

Login

...

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

Logging In Without Using the Default Login UI

발췌문 삽입
로그인 Login SDK 예제Example로그인
Login SDK 예제Example
namelogin_custom
nopaneltrue

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

// Set the IdpCode for the login
EKGTIdpCode idpCode = EKGTIdpCode::Kakao;

// Log in with a specific IDP
FKGTPlayer::Login(idpCode, FKGTResultDelegate::CreateLambda([=](FKGTResult result)
{
  if (result.IsSuccess())
  {
    // The current Player's ID issued by the platform
    FString playerId = FKGTPlayer::GetCurrentPlayer().GetPlayerId();

    // Platform access token
    FString accessToken = FKGTPlayer::GetAccessToken();

    // Retrieve the current IDP authentication information
    FKGTIdpProfile idpProfile = FKGTPlayer::GetCurrentPlayer().GetIdpProfile();
    
    // [TODO] Since the login was successful, proceed to the game screen.
  }
  else
  {
    // IDP login or platform login failed
    // [TODO] If login fails, inform the user and prompt them to retry.

    int32 resultCode = result.GetCode();

    if (resultCode == FKGTResultCode::NetworkFailure || resultCode == FKGTResultCode::ServerTimeout || resultCode == FKGTResultCode::ServerConnectionFailed)
    {
      // [TODO] If a network error occurs, notify the user that the start failed due to a network issue and prompt to retry.
    }
    else if (resultCode == FKGTResultCode::Forbidden)
    {
      // [TODO] During the CBT period, authentication may not be possible for users who are not allowed. Provide an appropriate notification to the user.
    }
    else if (resultCode == FKGTResultCode::UserCanceled)
    {
      // [TODO] Since the user canceled during the login process, the login screen should be maintained.
    }
    else
    {
      // [TODO] If other errors occur, provide notifyan theerror usernotification and prompt the themuser to retry thelogging loginin. It is necessary to check the error code and logs to determine the cause.
    }
  }
}));

Logging In Through the Launcher

발췌문 삽입
EN_Login SDK ExampleEN_
Login SDK Example
namelogin_with_bridge_token
nopaneltrue

코드 블럭
#include "KakaoGameV4.h"

// The bridgeToken received through the launcher
FString bridgeToken = "";

FKGTPlayer::LoginWithBridgeToken(bridgeToken, FKGTResultDelegate::CreateLambda([=](FKGTResult result)
{
  if (result.IsSuccess())
  {
    // The current Player's ID issued by the platform
    FString playerId = FKGTPlayer::GetCurrentPlayer().GetPlayerId();
    // Platform access token
    FString accessToken = FKGTPlayer::GetAccessToken();
    // Retrieve the current IDP authentication information
    FKGTIdpProfile idpProfile = FKGTPlayer::GetCurrentPlayer().GetIdpProfile();
    // Additional information received through the launcher
    TSharedPtr<FJsonObject> bridgeTokenPayload = FKGTPlayer::GetCurrentPlayer().GetBridgeTokenPayload();
    // [TODO] Log in to the game server and proceed to the game screen
  }
  else
  {
    // Handle login failure.
    // [TODO] 로그인If 실패login fails, 사용자inform 안내the user and 시도prompt 하도록them 하여야to 합니다retry.
    int32 resultCode = result.GetCode();
    if (resultCode == FKGTResultCode::NetworkFailure || resultCode == FKGTResultCode::ServerTimeout || resultCode == FKGTResultCode::ServerConnectionFailed)
    {
      // [TODO] If a network error occurs, prompt the user to retry logging in.
    }
    else if (resultCode == FKGTResultCode::Forbidden)
    {
      // [TODO] During the CBT period, authentication may not be possible for users who are not allowed. Display a notification to the user, and after clicking confirm, implement the app to exit.
    }
    else if (resultCode == FKGTResultCode::UserCanceled)
    {
      // [TODO] Since the user canceled during the login process, the login screen should be maintained.
    }
    else
    {
      // [TODO] If other errors occur, provide an error notification and prompt the user to retry logging in.
      // It is necessary to check the error code and logs to determine the cause.
    }
  }
}));

Logout

...

발췌문 삽입
로그아웃 Logout SDK 예제Example로그아웃
Logout SDK 예제Example
namelogout
nopaneltrue

Logging Out Without Using the Default Logout UI

발췌문 삽입
로그아웃 Logout SDK 예제Example로그아웃
Logout SDK 예제Example
namelogout_custom
nopaneltrue

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

// Logout request
FKGTPlayer::Logout(FKGTResultDelegate::CreateLambda([=](FKGTResult result)
{
  if (result.IsSuccess())
  {
    // Logout successful
    // [TODO] Return to the start screen
  }
  else
  {
    // Logout failed
  }
}));

Unregistration

...

발췌문 삽입
탈퇴 Unregistration SDK 예제Example탈퇴
Unregistration SDK 예제Example
nameunregister
nopaneltrue

Unregistering Without Using the Default Unregistration UI

발췌문 삽입
탈퇴 Unregistration SDK 예제Example탈퇴
Unregistration SDK 예제Example
nameunregister_custom
nopaneltrue

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

// Unregistration (account deletion) request
FKGTPlayer::Unregister(showUI, FKGTResultDelegate::CreateLambda([=](FKGTResult result)
{
  if (result.IsSuccess())
  {
    // Unregistration successful
    // [TODO] Return to the start screen
  }
  else
  {
    // Unregistration failed
  }
}));

Account Linking

...

발췌문 삽입
계정 연결 Account Linking SDK 예제Example계정 연결
Account Linking SDK 예제Example
nameconnect
nopaneltrue

Linking Accounts Without Using the Default Account Linking UI

발췌문 삽입
계정 연결 Account Linking SDK 예제Example계정 연결
Account Linking SDK 예제Example
nameconnect_custom
nopaneltrue

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

// Set the IdpCode for the login
EKGTIdpCode idpCode = EKGTIdpCode::Kakao;

// Connect the account with a specific IDP
FKGTPlayer::Connect(idpCode, FKGTResultDelegate::CreateLambda([=](FKGTResult result)
{
  if (result.IsSuccess())
  {
    // IDP connection successful
    // The Player ID does not change.
  }
  else
  {
    // IDP connection failed
    int32 resultCode = result.GetCode();

    if (resultCode == FKGTResultCode::NotAuthorized)
    {
      // If the current session is not logged in
    }
    else if (resultCode == FKGTResultCode::InvalidState)
    {
      // If the currently authenticated IDP is not eligible for account connection
    }
    else if (resultCode == FKGTResultCode::AlreadyUsedIDPAccount)
    {
      // If the account is already connected to another IDP
    }
    else
    {
      // Other errors occurred
    }
  }
}));

Profile

...

Retrieve My Information

발췌문 삽입
프로필 Profile SDK 예제Example프로필
Profile SDK 예제Example
nameplayer_currentPlayer
nopaneltrue

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

FKGTPlayer player = FKGTPlayer::GetCurrentPlayer();

// Platform playerId
FString playerId = player.GetPlayerId();

// Platform AccessToken
FString accessToken = FKGTPlayer::GetAccessToken();

// idpProfile information
FKGTIdpProfile idpProfile = player.GetIdpProfile();

Retrieve My IDP Information

발췌문 삽입
프로필 Profile SDK 예제Example프로필
Profile SDK 예제Example
nameplayer_idpProfile
nopaneltrue

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

FKGTPlayer player = FKGTPlayer::GetCurrentPlayer();

// Retrieve IDP information
FKGTIdpProfile idpProfile = player.GetIdpProfile();
EKGTIdpCode idpCode = idpProfile.GetIdpCode();
FString idpUserId = idpProfile.GetIdpUserId();

// Retrieve Kakao IDP information
// If the login state is with Kakao
if (idpCode == EKGTIdpCode::Kakao)
{
  // Retrieve Kakao IDP information
  FKGTKakaoProfile *kakaoProfile = (FKGTKakaoProfile*)&idpProfile;
  
  // Kakao UUID
  FString uuid = kakaoProfile->GetUUID();
  
  // If the same Kakao user is using a different app, return the same group user token
  FString groupUserToken = kakaoProfile->GetGroupUserToken();  
  
  // Remaining number of invites that can be sent today
  int32 remainingInviteCount = kakaoProfile->GetRemainingInviteCount();
  
  // Whether the app is registered
  bool isAppRegistered = kakaoProfile->IsAppRegistered();
  
  // Whether message reception is allowed
  bool isAllowedMessage = kakaoProfile->IsAllowedMessage();
}

System Information

...

Retrieve Language Code

발췌문 삽입
시스템 정보 System Information SDK 예제Example시스템 정보
System Information SDK 예제Example
namesystem_language_code
nopaneltrue

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

FString languageCode = FKGTSystem::GetLanguageCode();

Retrieve Country Code

발췌문 삽입
시스템 정보 System Information SDK 예제Example시스템 정보
System Information SDK 예제Example
namesystem_country_code
nopaneltrue

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

FString countryCode = FKGTSystem::GetCountryCode();

Retrieve IP-based Country Code

발췌문 삽입
시스템 정보 System Information SDK 예제Example시스템 정보
System Information SDK 예제Example
namesystem_geo_country_code
nopaneltrue

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

FString geoCountryCode = FKGTSystem::GetGeoCountryCode();

Retrieve Device ID

발췌문 삽입
시스템 정보 System Information SDK 예제Example시스템 정보
System Information SDK 예제Example
namesystem_device_id
nopaneltrue

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

FString deviceId = FKGTSystem::GetDeviceId();

Retrieve Device Model

발췌문 삽입
시스템 정보 System Information SDK 예제Example시스템 정보
System Information SDK 예제Example
namesystem_device_model
nopaneltrue

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

FString deviceModel = FKGTSystem::GetDeviceModel();

Retrieve OS Name

발췌문 삽입
시스템 정보 System Information SDK 예제Example시스템 정보
System Information SDK 예제Example
namesystem_os_name
nopaneltrue

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

FString osName = FKGTSystem::GetOSName();

Retrieve Network Connection Status

발췌문 삽입
시스템 정보 System Information SDK 예제Example시스템 정보
System Information SDK 예제Example
namesystem_is_network_connected
nopaneltrue

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

bool isNetworkConnected = FKGTSystem::IsNetworkConnected();

Retrieve Connected Network Type

발췌문 삽입
시스템 정보 System Information SDK 예제Example시스템 정보
System Information SDK 예제Example
namesystem_network_type
nopaneltrue

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

FString networkType = FKGTSystem::GetNetworkType();

Kakao Integration Feature

...

Setting Up KakaoTalk Game Message Reception

발췌문 삽입
카카오 연동 기능 SDK 예제카카오 연동 기능 SDK 예제Kakao Integration Feature SDK Example
Kakao Integration Feature SDK Example
namekakao_talk_show_setting
nopaneltrue

코드 블럭
languagejava
#include "KakaoGameV4.h"

// Display the view to set KakaoTalk game message reception preferences
FKGTKakaoTalk::ShowSetting(FKGTResultWithIsAllowMeDelegate::CreateLambda([=](FKGTResult result, bool isAllowMe)
{
  if (result.IsSuccess())
  {
    // Successfully set KakaoTalk game message reception preferencessettings
    // isAllowMe - Whether message reception is allowed as per the settings
  }
  else if (result.GetCode() == FKGTResultCode::NotKakaoTalkUser)
  {
    // The logged-in user is not a 'KakaoTalk' user. (For cases where the user is not a KakaoTalk user)
  }
  else
  {
    // Failed to set KakaoTalk game message reception preferencessettings
  }
}));

Retrieve KakaoTalk Profile

발췌문 삽입
카카오 연동 기능 SDK 예제카카오 연동 기능 SDK 예제Kakao Integration Feature SDK Example
Kakao Integration Feature SDK Example
namekakao_talk_talk_profile
nopaneltrue

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

// Retrieve KakaoTalk profile
FKGTKakaoTalk::TalkProfile(FKGTResultWithKakaoTalkProfileDelegate::CreateLambda([=](FKGTResult result, FKGTKakaoTalkProfile profile)
{
  if (result.IsSuccess())
  {
    // Successfully retrieved KakaoTalk profile
    // profile - The KakaoTalk profile information of the logged-in user
  }
  else if (result.GetCode() == FKGTResultCode::NotKakaoTalkUser)
  {
    // The logged-in user is not a 'KakaoTalk' user. (For cases where the user is not a KakaoTalk user)
  }
  else
  {
    // Failed to retrieve KakaoTalk profile
  }
}));

Retrieve KakaoTalk Game Friend List

발췌문 삽입
카카오 연동 기능 SDK 예제카카오 연동 기능 SDK 예제Kakao Integration Feature SDK Example
Kakao Integration Feature SDK Example
namekakao_talk_friends
nopaneltrue

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

// Retrieve game friend list
FKGTKakaoTalk::Friends(FKGTResultWithPlayerListDelegate::CreateLambda([=](FKGTResult result, TArray<FKGTPlayer> playerList)
{
  if (result.IsSuccess())
  {
    // Successfully retrieved KakaoTalk game friendfriends list.
    for (FKGTPlayer player : playerList)
    {
      FKGTIdpProfile idpProfile = player.GetIdpProfile();
      FKGTKakaoFriendProfile *kakaoFriendProfile = (FKGTKakaoFriendProfile*)&idpProfile;
    }
  }
  else if (result.GetCode() == FKGTResultCode::NotKakaoTalkUser)
  {
    // The logged-in user is not a 'KakaoTalk' user. (For cases where the user is not a KakaoTalk user)
  }
  else
  {
    // Failed to retrieve KakaoTalk game friendfriends list
  }
}));

Sending KakaoTalk Game Messages

발췌문 삽입
카카오 연동 기능 SDK 예제카카오 연동 기능 SDK 예제Kakao Integration Feature SDK Example
Kakao Integration Feature SDK Example
namekakao_talk_send_game_message
nopaneltrue

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

// Kakao friend profile retrieved through the friends API
FKGTKakaoFriendProfile *kakaoFriendProfile;

// [TODO] Set the template ID
FString templateId = TEXT("");

// [TODO] Set the parameters for the message template
TMap<FString, FString> argumentDic;
argumentDic.Add(TEXT("${nickname}"), kakaoFriendProfile->GetNickname());
argumentDic.Add(TEXT("rog_link"), TEXT("test=100&hello=20111"));

// Send a KakaoTalk game message
FKGTKakaoTalk::SendGameMessage((*kakaoFriendProfile), templateId, argumentDic, FKGTResultDelegate::CreateLambda([=](FKGTResult result)
{
  if (result.IsSuccess())
  {
    // Successfully sent the KakaoTalk chat message
  }
  else
  {
    if (result.GetCode() == FKGTResultCode::MessageSettingDisabled)
    {
      // The recipient has set up message reception to be disabled
    }
    else if (result.GetCode() == FKGTResultCode::ExceedDailyUsage)
    {
      // Exceeded the daily quota of messages that can be sent by one person forOccurs when the daily quota for sending messages to a specific app (regardless of the recipient) is exceeded.
    }
    else if (result.GetCode() == FKGTResultCode::ExceedMonthlyUsage)
    {
      // ExceededOccurs when the monthly quota for ofsending messages that can be sent by one person to a specific recipientperson for a specific app is exceeded.
    }
    else
    {
      // Failed to send the KakaoTalk chat message
    }
  }
}));

Sending KakaoTalk Friend Invitation Messages

발췌문 삽입
카카오 연동 기능 SDK 예제카카오 연동 기능 SDK 예제Kakao Integration Feature SDK Example
Kakao Integration Feature SDK Example
namekakao_talk_send_invite_message
nopaneltrue

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

// [TODO] Set whether to display inas a popup window
bool isSingle = true;

// [TODO] Set whether to display inas a popup window
bool isPopup = true;
  
// [TODO] Set the template ID
FString templateId = TEXT("");

// [TODO] Set the parameters for the message template
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.IsSuccess())
  {
    // Successfully sent KakaoTalk invite message
    for (FKGTKakaoUser user : users)
    {
      // Check the list of users to whom the invite message was sent
    }
  }
  else
  {
    // If all failed (need to return a common cause)
    if (result.GetCode() == FKGTResultCode::MessageSettingDisabled)
    {
      // The recipient has set up message reception to be disabled
    }
    else if (result.GetCode() == FKGTResultCode::ExceedDailyUsage)
    {
      // ExceededOccurs when the daily quota of messages that can be sent by one person for for sending messages to a specific app (regardless of the recipient) is exceeded.
    }
    else if (result.GetCode() == FKGTResultCode::ExceedMonthlyUsage)
    {
      // Occurs Exceededwhen the monthly quota offor sending messages that can be sent by one person to a specific recipientperson for a specific app is exceeded.
    }
    else
    {
      // Failed to send KakaoTalk chat message
    }
  }
}));

Adding a KakaoTalk Channel

발췌문 삽입
카카오 연동 기능 SDK 예제카카오 연동 기능 SDK 예제Kakao Integration Feature SDK Example
Kakao Integration Feature SDK Example
namekakao_talk_add_plus_friend
nopaneltrue

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

// [TODO] Set the channel ID
int32 channelId = 0;

FKGTKakaoTalk::AddChannel(channelId, FKGTResultDelegate::CreateLambda([=](FKGTResult result)
{
  if (result.IsSuccess())
  {
    // Successfully added the channel
  }
  else if (result.GetCode() == FKGTResultCode::NotKakaoTalkUser)
  {
    // The logged-in user is not a 'KakaoTalk' user. (For cases where the user is not a KakaoTalk user)
  }
  else
  {
    // Failed to add the channel
  }
}));

Retrieve the list of friends to whom I sent an invite message

발췌문 삽입
카카오 연동 기능 SDK 예제카카오 연동 기능 SDK 예제Kakao Integration Feature SDK Example
Kakao Integration Feature SDK Example
namekakao_invitation_joiners
nopaneltrue

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

// [TODO] Set the event ID
int32 eventId = 0;

// Retrieve the list of players I invited
FKGTKakaoInvitation::Joiners(eventId, FKGTResultWithJoinersDelegate::CreateLambda([=](FKGTResult result, TArray<FKGTPlayer> players)
{
  if (result.IsSuccess())
  {
    // Successfully retrieved the list of players I invited
    for (FKGTPlayer player : players)
    {
      // Recipient's player ID
      FString playerId = player.GetPlayerId();
      FKGTIdpProfile idpProfile = player.GetIdpProfile();
      FKGTKakaoFriendProfile *kakaoProfile = (FKGTKakaoFriendProfile*)&idpProfile;
      // Recipient's nickname
      FString nickname = kakaoProfile->GetNickname();
      // Recipient's profile thumbnail image
      FString thumbnailImageUrl = kakaoProfile->GetThumbnailImageUrl();
      // Check if the recipient has a withdrawal history. Use this flag to display withdrawal information in the UI.
      bool isUnregistered = kakaoProfile->IsUnregistered();
    }
  }
  else if (result.GetCode() == FKGTResultCode::NotKakaoTalkUser)
  {
    // The logged-in user is not a 'KakaoTalk' user. (For cases where the user is not a KakaoTalk user)
  }
  else
  {
    // Failed to retrieve the list
  }
}));

Retrieve the count of friends to whom I sent an invite message

발췌문 삽입
카카오 연동 기능 SDK 예제카카오 연동 기능 SDK 예제Kakao Integration Feature SDK Example
Kakao Integration Feature SDK Example
namekakao_invitation_receivers_count
nopaneltrue

...