21.1 카카오톡 친구 초대 예제

21.1 카카오톡 친구 초대 예제

21.1. 카카오톡 친구 초대 예제

 


주의

기존 3.9.0 미만 API들과 혼합하여 사용하지 마세요.

2022년 이후 신규 출시하는 게임에서는 아래 가이드 된 친구 목록 가져오기 및 메시지 보내기 API를 사용하실 수 없습니다.

친구 피커를 이용한 메시지 보내기 기능을 사용해주세요.

21.1.1. 진행중인 초대 이벤트 조회하기

진행중인 초대 이벤트 목록을 조회하는 예제입니다.

Unity 예제

using KakaoGame.SDK; using KakaoGame.SDK.Kakao;    // 진행중인 초대 이벤트 목록 조회하기 KGKakaoInvitation.LoadEvents((result, events) => {     if (result.isSuccess)     {         // 호출 성공           // 진행중인 초대 이벤트 목록 가져오기         if (events != nil)         {             foreach (KGKakaoEvent invitationEvent in invitationEvents)             {                 // 이벤트 아이디: 초대 메시지 전송, 초대장을 보낸 사람과 받은 사람 목록 가져오기 시 필요.                 int eventId = invitationEvent.eventId;                    // 이벤트 시작 시각                 long startTime = invitationEvent.startTime;                    // 이벤트 종료 시각                 long finishTime = invitationEvent.finishTime;                    // 설명                 string eventDescription = invitationEvent.eventDescription;             }         }     }     else if (result.code == KGResultCode.NotKakaoTalkUser)     {         // 로그인 한 유저가 '카카오톡' 유저가 아닙니다.     }     else     {         // 호출 실패     } });

Android 예제

import com.kakaogame.KGKakaoInvitation; import com.kakaogame.KGKakaoInvitation.KGKakaoEvent; import com.kakaogame.KGResult;    // 진행중인 초대 이벤트 목록 조회하기 KGKakaoInvitation.loadEvents(new KGResultCallback<List<KGKakaoEvent>>() {     @Override     public void onResult(KGResult<List<KGKakaoEvent>> result) {         if (result.isSuccess()) {             // 호출 성공                // 진행중인 초대 이벤트 목록 가져오기             List<KGKakaoEvent> invitationEventList = result.getContent();               for (KGKakaoEvent invitationEvent : invitationEventList) {                 // 이벤트 아이디: 초대 메시지 전송, 초대장을 보낸 사람과 받은 사람 목록 가져오기 시 필요.                 int eventId = invitationEvent.getEventId();                    // 이벤트 시작 시각                 long startTime = invitationEvent.getStartTime();                    // 이벤트 종료 시각                 long finishTime = invitationEvent.getFinishTime();                    // 설명                 String description = invitationEvent.getEventDescription();             }         } else if (result.getCode() == KGResult.KGResultCode.NOT_KAKAOTALK_USER) {             // 로그인 한 유저가 '카카오톡' 유저가 아닙니다. (예 : 카카오 스토리만 가입한 유저의 계정)         } else {             // 호출 실패         }     } });

iOS 예제

#import <KakaoGame/KakaoGame.h>      // 진행중인 초대 이벤트 목록 조회하기 [KGKakaoInvitation loadEventsWithCompletionHandler:^(NSError *error, NSArray *invitationEvents) {     if (IS_SUCCESS(error) == YES)     {         // 호출 성공           // 진행중인 초대 이벤트 목록 가져오기         if (invitationEvents != nil)         {             for (KGKakaoEvent *invitationEvent in invitationEvents)             {                 // 이벤트 아이디: 초대 메시지 전송, 초대장을 보낸 사람과 받은 사람 목록 가져오기 시 필요.                 int eventId = invitationEvent.eventId;                    // 이벤트 시작 시각                 long long startTime = invitationEvent.startTime;                    // 이벤트 종료 시각                 long long finishTime = invitationEvent.finishTime;                    // 설명                 NSString *eventDescription = invitationEvent.eventDescription;             }         }     }     else if (error.code == KGErrorNotKakaoTalkUser)     {         // 로그인 한 유저가 '카카오톡' 유저가 아닙니다.     }     else     {         // 호출 실패     } }];

21.1.2. 카카오톡 초대 가능한 추천 친구 목록 조회하기

초대 메시지 전송 시 초대 가능한 추천 친구 목록을 조회하는 예제입니다.

카카오톡 초대 메시지 전송 시 반드시 이 API를 사용하여 받은 친구 객체를 인자로 전달해야합니다.

친구 목록은 인자로 넘긴 추천 친구 수 만큼 서버에서 매겨진 랭킹에 따라 먼저 목록에 포함되고 이후부터는 가나다 순으로 정렬됩니다.

LoadInvitableFriendProfiles() 의 첫 번째 매개변수에는 항상 0을 넣어주어야합니다.

Unity 예제

using Kakaogame.SDK; using Kakaogame.SDK.Kakao;    // [TODO] 친구 목록 조회 시작 값 설정 int offset; // 친구 목록 조회 시작 값   // [TODO] 친구 목록 조회 사이즈 설정 int limit; // 친구 목록 사이즈   // 카카오톡으로 초대 가능한 친구 프로필 목록 조회하기 KGKakaoInvitation.LoadInvitableFriendProfiles(0, offset, limit, (result, totalCount, kakaoProfiles) => {     if (result.isSuccess)     {         // 요청 성공            // 초대 대상 친구 목록         foreach (KGKakaoProfile kakaoProfile in kakaoProfiles)         {             // 친구의 카카오톡 닉네임             string nickname = kakaoProfile.nickname;               // 친구의 카카오톡 프로필 썸네일 이미지 Url             string thumbnailImageUrl = kakaoProfile.thumbnailImageUrl;               // 친구의 카카오톡 설치 os 정보             string talkOs = kakaoProfile.kakaoTalkOS.ToString();               // 친구의 메시지 수신 허용 여부, false 인 경우 메시지를 보내지 못하도록 합니다.             bool isAllowMessage = kakaoProfile.isAllowedMessage;         }           }     else if (result.code == KGResultCode.NotKakaoTalkUser)     {         // 로그인 한 유저가 '카카오톡' 유저가 아닙니다.     }     else     {         // 호출 실패     } });

Android 예제

import com.kakaogame.KGKakaoInvitation; import com.kakaogame.KGKakaoProfile; import com.kakaogame.KGKakaoProfile.KGKakaoFriendsResponse; import com.kakaogame.KGResult;   // [TODO] 친구 목록 조회 시작 값 설정 int offset; // 친구 목록 조회 시작 값   // [TODO] 친구 목록 조회 사이즈 설정 int limit; // 친구 목록 사이즈   // 카카오톡으로 초대 가능한 친구 프로필 목록 조회하기 KGKakaoInvitation.loadInvitableFriendProfiles(0, offset, limit, new KGResultCallback<KGKakaoFriendsResponse>() {     @Override     public void onResult(KGResult<KGKakaoFriendsResponse> result) {         if (result.isSuccess()) {             // 요청 성공               // 카카오톡 초대 가능한 친구 목록 결과 가져오기             KGKakaoFriendsResponse response = result.getContent();               // 초대 가능한 친구 전체 수             int totalCount = response.getTotalCount();               // 초대 대상 친구 목록 - 초대 메시지 전송 시 사용할 친구 프로필 객체 목록             List<KGKakaoProfile> friendList = response.getFriendList();               for (KGKakaoProfile kakaoProfile : friendList) {                 // 친구의 카카오톡 닉네임                 String nickname = kakaoProfile.getNickname();                   // 친구의 카카오톡 프로필 썸네일 이미지 Url                 String thumbnailImageUrl = kakaoProfile.getThumbnailImageUrl();                   // 친구의 카카오톡 설치 os 정보                 String talkOs = kakaoProfile.getTalkOs();                   // 친구의 메시지 수신 허용 여부, false 인 경우 메시지를 보내지 못하도록 합니다.                 boolean isAllowMessage = kakaoProfile.isAllowedMessage();             }         } else if (result.getCode() == KGResult.KGResultCode.NOT_KAKAOTALK_USER) {             // 로그인 한 유저가 '카카오톡' 유저가 아닙니다. (예 : 카카오 스토리만 가입한 유저의 계정)         } else {             // 요청 실패         }     }   });

iOS 예제

#import <KakaoGame/KakaoGame.h>    // [TODO] 친구 목록 조회 시작 값 설정 int offset; // 친구 목록 조회 시작 값     // [TODO] 친구 목록 조회 사이즈 설정 int limit; // 친구 목록 사이즈   // 카카오톡으로 초대 가능한 친구 프로필 목록 조회하기 [KGKakaoInvitation loadInvitableFriendProfilesWithRecommendLimit:0 offset:offset limit:limit completionHandler:^(NSError *error, int totalCount, NSArray *idpProfiles) {     if (IS_SUCCESS(error) == YES)     {         // 요청 성공           // 초대 대상 친구 목록 - 초대 메시지 전송 시 사용할 친구 프로필 객체 목록         for (KGKakaoProfile *kakaoProfile in idpProfiles)         {             // 친구의 카카오톡 닉네임             NSString *nickname = kakaoProfile.nickname;               // 친구의 카카오톡 프로필 썸네일 이미지 Url             NSString *thumbnailImageUrl = kakaoProfile.thumbnailImageUrl;               // 친구의 카카오톡 설치 os 정보             NSString *talkOs = kakaoProfile.kakaoTalkOS.description;               // 친구의 메시지 수신 허용 여부, false 인 경우 메시지를 보내지 못하도록 합니다.             BOOL isAllowMessage = kakaoProfile.isAllowedMessage;         }     }     else if (error.code == KGErrorNotKakaoTalkUser)     {         // 로그인 한 유저가 '카카오톡' 유저가 아닙니다.     }     else     {         // 호출 실패     } }];

21.1.3. 카카오톡 초대 메시지 보내기

카카오톡 초대 메시지를 보내는 예제입니다. (가이드 : 20. 카카오톡 메시지 템플릿 V2 )

Unity 예제

using Kakaogame.SDK; using Kakaogame.SDK.Kakao;    // [TODO] 이벤트 아이디 설정 int eventId = 511; // 해당 초대 이벤트를 대상으로 메시지를 전송    // [TODO] 템플릿 Id 설정 int templateId = 4100; // 메시지 템플릿 어드민에서 생성한 템플릿의 Id 값    // [TODO] 메시지 템플릿에 설정한 인자 설정 String nickname = ((KGKakaoProfile) KGLocalPlayer.getCurrentPlayer().getIdpProfile()).getNickname(); Map<String, String> args = new LinkedHashMap<String, String>(); args.put("${sender_name}", nickname);    // [TODO] 수신자 프로필 설정 KGKakaoProfile kakaoProfile; // 'loadInvitableFriendProfiles'로 조회한 친구 객체   // 카카오톡 초대 메시지 보내기   KGKakaoInvitation.SendInviteMessage(eventId, kakaoProfile, templateId, args, (result) => {     if (result.isSuccess)     {         // 요청 성공     }     else     {         // 요청 실패         if (result.code == KGResultCode.MessageSettingDisabled)         {             // 받은이가 메시지 수신 거부를 설정한 경우.         }         else if (result.code == KGResultCode.ExceedDailyUsage)         {             // 한명이 특정 앱에 대해 보낼 수 있는 하루 쿼터(받는 사람 관계없이) 초과시 발생.         }         else if (result.code == KGResultCode.ExceedMonthlyUsage)         {             // 한명이 특정 앱에 대해 특정인에게 보낼 수 있는 한달 쿼터 초과시 발생.         }         else if (result.code == KGResultCode.NotKakaoTalkUser)         {             // 로그인 한 유저가 '카카오톡' 유저가 아닙니다.         }         else         {             // 그 밖의 에러         }     } });

Android 예제

import com.kakaogame.KGKakaoInvitation; import com.kakaogame.KGLocalPlayer; import com.kakaogame.KGKakaoProfile; import com.kakaogame.KGResult; // [TODO] 이벤트 아이디 설정 int eventId = 511; // 해당 초대 이벤트를 대상으로 메시지를 전송    // [TODO] 템플릿 Id 설정 int templateId = 4100; // 메시지 템플릿 어드민에서 생성한 템플릿의 Id 값    // [TODO] 메시지 템플릿에 설정한 인자 설정 string nickname = ((KGKakaoProfile) KGLocalPlayer.currentPlayer.idpProfile).nickname; Dictionary<String, String> args = new Dictionary<String, String>(); args.add("${sender_name}", nickname);    // [TODO] 수신자 프로필 설정 KGKakaoProfile kakaoProfile; // 'loadInvitableFriendProfiles'로 조회한 친구 객체   // 카카오톡 초대 메시지 보내기 KGKakaoInvitation.sendInviteMessage(eventId, kakaoProfile, templateId, args, new KGResultCallback<Void>() {     @Override     public void onResult(KGResult<Void> result) {         if (result.isSuccess()) {             // 요청 성공         } else {             // 요청 실패             if (result.getCode() == KGResult.KGResultCode.MESSAGE_SETTING_DISABLE) {                 // 받은이가 메시지 수신 거부를 설정한 경우.             } else if (result.getCode() == KGResult.KGResultCode.EXCEED_DAILY_USAGE) {                 // 한명이 특정 앱에 대해 보낼 수 있는 하루 쿼터(받는 사람 관계없이) 초과시 발생.             } else if (result.getCode() == KGResult.KGResultCode.EXCEED_MONTHLY_USAGE) {                 // 한명이 특정 앱에 대해 특정인에게 보낼 수 있는 한달 쿼터 초과시 발생.             } else if (result.getCode() == KGResult.KGResultCode.NOT_KAKAOTALK_USER) {                 // 로그인 한 유저가 '카카오톡' 유저가 아닙니다. (예 : 카카오 스토리만 가입한 유저의 계정)             } else {                 // 그 밖의 에러             }         }     } });

iOS 예제

#import <KakaoGame/KakaoGame.h>      // [TODO] 이벤트 아이디 설정 int eventId = 511; // 해당 초대 이벤트를 대상으로 메시지를 전송    // [TODO] 템플릿 Id 설정 int templateId = 4100; // 메시지 템플릿 어드민에서 생성한 템플릿의 Id 값    // [TODO] 메시지 템플릿에 설정한 인자 설정 String nickname = ((KGKakaoProfile) KGLocalPlayer.getCurrentPlayer().getIdpProfile()).getNickname(); Map<String, String> args = new LinkedHashMap<String, String>(); args.put("${sender_name}", nickname);    // [TODO] 수신자 프로필 설정 KGKakaoProfile kakaoProfile; // 'loadInvitableFriendProfiles'로 조회한 친구 객체   // 카카오톡 초대 메시지 보내기 [KGKakaoInvitation sendInviteMessageWithEventId:eventId kakaoProfile:kakaoProfile templateId:templateId argumentDic:args (result) => {     if (IS_SUCCESS(error) == YES)     {         // 요청 성공     }     else if (error.code == KGErrorMessageSettingDisabled)     {         // 받은이가 메시지 수신 거부를 설정한 경우.     }     else if (error.code == KGErrorExceedDailyUsage)     {         // 한명이 특정 앱에 대해 보낼 수 있는 하루 쿼터(받는 사람 관계없이) 초과시 발생.     }     else if (error.code == KGErrorExceedMothlyUsage)     {         // 한명이 특정 앱에 대해 특정인에게 보낼 수 있는 한달 쿼터 초과시 발생.     }     else if (error.code == KGErrorNotKakaoTalkUser)     {         // 로그인 한 유저가 '카카오톡' 유저가 아닙니다.     }     else     {         // 호출 실패     } }];

21.1.4. 내가 초대 메시지를 보낸 친구 숫자 조회하기

내가 초대 메시지를 보낸 친구 숫자를 조회하는 예제입니다.

Unity 예제

using KakaoGame.SDK; using KakaoGame.SDK.Kakao;      // [TODO] 이벤트 아이디 설정 int eventId = 511; // 해당 초대 이벤트를 대상으로 조회    KGKakaoInvitation.LoadReceiversCount(eventId, (result, totalReceiversCount, joinersCount) => {     if (result.isSuccess)     {         // 호출 성공         // 전체 친구 수         int totalCount = totalReceiversCount;         // 게임에 가입한 친구 수         int registeredCount = joinersCount;     }     else     {         // 호출 실패     } });

Android 예제

import com.kakaogame.KGKakaoInvitation; import com.kakaogame.KGKakaoInvitation.KGInvitationReceviersResponse; import com.kakaogame.KGPlayer; import com.kakaogame.KGKakaoProfile; import com.kakaogame.KGResult;    // [TODO] 이벤트 아이디 설정 int eventId = 511; // 해당 초대 이벤트를 대상으로 조회    // 내가 초대한 친구 수 조회하기 KGKakaoInvitation.loadReceiversCount(eventId, new KGResultCallback<KGInvitationReceviersCountResponse>() {     @Override     public void onResult(KGResult<KGInvitationReceviersCountResponse> result) {         if (result.isSuccess()) {             // 호출 성공               KGInvitationReceviersCountResponse response = result.getContent(); // 내가 초대한 친구 숫자 가져오기             // 전체 친구 수             int total = response.getTotalReceiversCount();             // 게임에 가입한 친구 수             int joinersCount = response.getJoinersCount();         } else {             // 호출 실패         }     } });

iOS 예제

#import <KakaoGame/KakaoGame.h>      // [TODO] 이벤트 아이디 설정 int eventId = 511; // 해당 초대 이벤트를 대상으로 조회    [KGKakaoInvitation loadReceiversCountWithEventId:eventId completionHandler:^(NSError *error, int totalReceiversCount, int joinersCount) {     if (IS_SUCCESS(error) == YES)     {         // 호출 성공         // 전체 친구 수         int totalCount = totalReceiversCount;         // 게임에 가입한 친구 수         int registeredCount = joinersCount;     }     else     {         // 호출 실패     } }];

21.1.5. 내가 초대 메시지를 보낸 친구 목록 조회하기

내가 초대 메시지를 보낸 친구 목록을 조회하는 예제입니다.

Unity 예제

using KakaoGame.SDK; using KakaoGame.SDK.Kakao;    // [TODO] 이벤트 아이디 설정 int eventId = 511; // 해당 초대 이벤트를 대상으로 조회    // 내가 초대한 플레이어 목록 조회하기 KGKakaoInvitation.LoadReceivers(eventId, (result, joiners, invitees) => {     if (result.isSuccess)     {         // 호출 성공                   // 앱에 가입한 플레이어 목록, 앱 탈퇴자 포함         foreach (KGPlayer joiner in joiners)         {             // 초대자의 플레이어 아이디             string playerId = joiner.playerId;               KGKakaoProfile kakaoProfile = (KGKakaoProfile)joiner.idpProfile;             // 초대자의 닉네임             string nickname = kakaoProfile.nickname;             // 초대자의 프로필 썸네일 이미지             string thumbnailImageUrl  = kakaoProfile.thumbnailImageUrl;               // 수신지의 탈퇴 이력 조회.             // 수신자가 앱을 가입 후 탈퇴했을 경우 초대자는 수신자의 '가입'에 대한 보상을 이미 받았기 때문에 가입 보상 카운트와 가입한 수신자 명 수와 다를 수 있음.             // UI상에서 탈퇴 여부 정보를 표시할 경우 해당 flag를 사용.             BOOL isUnregistered = kakaoProfile.isUnregistered;         }            // 앱에 아직 가입하지 않은 수신자 목록         // 앱에 가입하지 않았기 때문에 플레이어 아이디는 제공되지 않습니다.         foreach (KGKakaoPrfoile invitee in invitees)         {             // 초대자의 닉네임             string nickname = invitee.nickname;             // 초대자의 프로필 썸네일 이미지             string thumbnailImageUrl  = invitee.thumbnailImageUrl;         }     }     else if (result.code == KGResultCode.NotKakaoTalkUser)     {         // 로그인 한 유저가 '카카오톡' 유저가 아닙니다.     }     else     {         // 호출 실패     } });

Android 예제

import com.kakaogame.KGKakaoInvitation; import com.kakaogame.KGKakaoInvitation.KGInvitationReceviersResponse; import com.kakaogame.KGPlayer; import com.kakaogame.KGKakaoProfile; import com.kakaogame.KGResult; // [TODO] 이벤트 아이디 설정 int eventId = 511; // 해당 초대 이벤트를 대상으로 조회   // 내가 초대한 친구 목록 조회하기 KGKakaoInvitation.loadReceivers(eventId, new KGResultCallback<KGKakaoInvitation.KGInvitationReceviersResponse>() {     @Override     public void onResult(KGResult<KGKakaoInvitation.KGInvitationReceviersResponse> result) {         if (result.isSuccess()) {             // 호출 성공               // 내가 초대한 친구 목록 가져오기             KGKakaoInvitation.KGInvitationReceviersResponse receivers = result.getContent();               // 앱에 가입한 플레이어 목록, 앱 탈퇴자 포함             List<KGPlayer> joiners = receivers.getJoiners();               for (KGPlayer player : joiners) {                 // 수신자의 플레이어 아이디                 String playerId = player.getPlayerId();                   KGKakaoProfile kakaoProfile = (KGKakaoProfile) player.getIdpProfile();                 // 수신자의 닉네임                 String nickname = kakaoProfile.getNickname();                 // 수신자의 프로필 썸네일 이미지                 String thumbnailImageUrl  = kakaoProfile.getThumbnailImageUrl();                   // 수신지의 탈퇴 이력 조회. UI상에서 탈퇴 여부 정보를 표시할 경우 해당 flag를 사용.                 boolean isUnregistered = kakaoProfile.isUnregistered();             }               // 앱에 아직 가입하지 않은 목록             List<KGKakaoProfile> invitees = receivers.getInvitees();             for (KGKakaoProfile kakaoProfile : invitees) {                 // 수신자의 닉네임                 String nickname = kakaoProfile.getNickname();                 // 수신자의 프로필 썸네일 이미지                 String thumbnailImageUrl  = kakaoProfile.getThumbnailImageUrl();             }         } else if (result.getCode() == KGResult.KGResultCode.NOT_KAKAOTALK_USER) {             // 로그인 한 유저가 '카카오톡' 유저가 아닙니다. (예 : 카카오 스토리만 가입한 유저의 계정)         } else {             // 호출 실패         }     } });

iOS 예제

#import <KakaoGame/KakaoGame.h>    // [TODO] 이벤트 아이디 설정 int eventId = 511; // 해당 초대 이벤트를 대상으로 조회   // 내가 초대한 플레이어 목록 조회하기 [KGKakaoInvitation loadReceiversWithEventId:eventId completionHandler:^(NSError *error, NSArray *joiners, NSArray *invitees) {     if (IS_SUCCESS(error) == YES)     {         // 호출 성공           // 앱에 가입한 플레이어 목록, 앱 탈퇴자 포함         for (KGPlayer *joiner in joiners)         {             // 초대자의 플레이어 아이디             NSString *playerId = joiner.playerId;               KGKakaoProfile *kakaoProfile = (KGKakaoProfile*)joiner.idpProfile;             // 초대자의 닉네임             NSString *nickname = kakaoProfile.nickname;             // 초대자의 프로필 썸네일 이미지             NSString *thumbnailImageUrl = kakaoProfile.thumbnailImageUrl;                // 수신지의 탈퇴 이력 조회.             // 수신자가 앱을 가입 후 탈퇴했을 경우 초대자는 수신자의 '가입'에 대한 보상을 이미 받았기 때문에 가입 보상 카운트와 가입한 수신자 명 수와 다를 수 있음.             // UI상에서 탈퇴 여부 정보를 표시할 경우 해당 flag를 사용.             BOOL isUnregistered = kakaoProfile.isUnregistered;         }           // 앱에 아직 가입하지 않은 수신자 목록         // 앱에 가입하지 않았기 때문에 플레이어 아이디는 제공되지 않습니다.         for (KGKakaoPrfoile *invitee in invitees)         {             // 초대자의 닉네임             NSString *nickname = invitee.nickname;             // 초대자의 프로필 썸네일 이미지             NSString *thumbnailImageUrl = invitee.thumbnailImageUrl;         }     }     else if (error.code == KGErrorNotKakaoTalkUser)     {         // 로그인 한 유저가 '카카오톡' 유저가 아닙니다.     }     else     {         // 호출 실패     } }];

21.1.6. 나에게 초대 메시지를 보낸 플레이어 숫자 조회하기

나에게 초대 메시지를 보낸 플레이어 숫자를 조회하는 예제입니다.

Unity 예제

using KakaoGame.SDK; using KakaoGame.SDK.Kakao;    // [TODO] 이벤트 아이디 설정 int eventId = 511; // 해당 초대 이벤트를 대상으로 조회    KGKakaoInvitation.LoadSendersCount(eventId, (result, count) => {     if (result.isSuccess)     {         // 호출 성공         // 나를 초대한 플레이어 수 가져오기         int senderCount = count;     }     else     {         // 호출 실패     } });

Android 예제

import com.kakaogame.KGKakaoInvitation; import com.kakaogame.KGKakaoInvitation.KGInvitationReceviersResponse; import com.kakaogame.KGPlayer; import com.kakaogame.KGKakaoProfile; import com.kakaogame.KGResult;    // [TODO] 이벤트 아이디 설정 int eventId = 511; // 해당 초대 이벤트를 대상으로 조회    // 나를 초대한 플레이어 명 수 조회하기 KGKakaoInvitation.loadSendersCount(eventId, new KGResultCallback<Integer>() {     @Override     public void onResult(KGResult<Integer> result) {         if (result.isSuccess()) {             // 호출 성공               int count = result.getContent(); // 나를 초대한 플레이어 수 가져오기         } else {             // 호출 실패         }     } });

iOS 예제

#import <KakaoGame/KakaoGame.h>    // [TODO] 이벤트 아이디 설정 int eventId = 511; // 해당 초대 이벤트를 대상으로 조회    [KGKakaoInvitation loadSendersCountWithEventId:eventId completionHandler:^(NSError *error, int count) {     if (IS_SUCCESS(error) == YES)     {         // 호출 성공         // 나를 초대한 플레이어 수 가져오기         int senderCount = count;     }     else     {         // 호출 실패     } }];

21.1.7. 나에게 초대 메시지를 보낸 플레이어 목록 조회하기

나에게 초대 메시지를 보낸 플레이어 목록을 조회하는 예제입니다.

Unity 예제

using KakaoGame.SDK; using KakaoGame.SDK.Kakao;    // [TODO] 이벤트 아이디 설정 int eventId = 511; // 해당 초대 이벤트를 대상으로 조회    // 나를 초대한 플레이어 조회하기 KGKakaoInvitation.LoadSenders(eventId, (result, invitationSenders) => {     if (result.isSuccess)     {         // 호출 성공                   // 나를 초대한 플레이어 목록 가져오기         if (invitationSenders != null && invitationSenders.Count > 0)         {             foreach (KGPlayer player in invitationSenders)             {                 // 초대자의 플레이어 아이디                 string playerId = player.playerId;                   KGKakaoProfile kakaoProfile = (KGKakaoProfile)player.idpProfile;                 // 초대자의 닉네임                 string nickname = kakaoProfile.nickname;                 // 초대자의 프로필 썸네일 이미지                 string thumbnailImageUrl  = kakaoProfile.thumbnailImageUrl;             }           }         else         {             // 나를 초대한 플레이어가 없음         }     }     else if (result.code == KGResultCode.NotKakaoTalkUser)     {         // 로그인 한 유저가 '카카오톡' 유저가 아닙니다.     }     else     {         // 호출 실패     } });

Android 예제

import com.kakaogame.KGKakaoInvitation; import com.kakaogame.KGPlayer; import com.kakaogame.KGKakaoProfile; import com.kakaogame.KGResult; // [TODO] 이벤트 아이디 설정 int eventId = 511; // 해당 초대 이벤트를 대상으로 조회    // 나를 초대한 플레이어 조회하기 KGKakaoInvitation.loadSenders(eventId, new KGResultCallback<List<KGPlayer>>() {     @Override     public void onResult(KGResult<List<KGPlayer>> result) {         if (result.isSuccess()) {             // 호출 성공               // 나를 초대한 플레이어 목록 가져오기             List<KGPlayer> invitationSenders = result.getContent();               if (invitationSenders != null && invitationSenders.size() > 0) {                 // 나를 초대한 플레이어가 있음                 for (KGPlayer player : invitationSenders) {                     // 초대자의 플레이어 아이디                     String playerId = player.getPlayerId();                       KGKakaoProfile kakaoProfile = (KGKakaoProfile) player.getIdpProfile();                     // 초대자의 닉네임                     String nickname = kakaoProfile.getNickname();                     // 초대자의 프로필 썸네일 이미지                     String thumbnailImageUrl  = kakaoProfile.getThumbnailImageUrl();                 }             } else {                 // 나를 초대한 플레이어가 없음             }         } else if (result.getCode() == KGResult.KGResultCode.NOT_KAKAOTALK_USER) {             // 로그인 한 유저가 '카카오톡' 유저가 아닙니다. (예 : 카카오 스토리만 가입한 유저의 계정)         } else {             // 호출 실패         }     } });

iOS 예제

#import <KakaoGame/KakaoGame.h>    // [TODO] 이벤트 아이디 설정 int eventId = 511; // 해당 초대 이벤트를 대상으로 조회     // 나를 초대한 플레이어 조회하기 [KGKakaoInvitation loadSendersWithEventId:eventId completionHandler:^(NSError *error, NSArray *invitationSenders) {     if (IS_SUCCESS(error) == YES)     {         // 호출 성공           // 진행중인 초대 이벤트 목록 가져오기         if (invitationSenders != nil && [invitationSenders count] > 0)         {             for (KGPlayer *invitationSender in invitationSenders)             {                 // 초대자의 플레이어 아이디                 NSString *playerId = invitationSender.playerId;                   KGKakaoProfile *kakaoProfile = (KGKakaoProfile*)invitationSender.idpProfile;                 // 초대자의 닉네임                 NSString *nickname = kakaoProfile.nickname;                 // 초대자의 프로필 썸네일 이미지                 NSString *thumbnailImageUrl = kakaoProfile.thumbnailImageUrl;             }         }     }     else if (error.code == KGErrorNotKakaoTalkUser)     {         // 로그인 한 유저가 '카카오톡' 유저가 아닙니다.     }     else     {         // 호출 실패     } }];