Select KakaoTalk Friends
Selecting KakaoTalk Friends
To use the API, the user must have completed Kakao login and consented to profile information, nickname, and profile picture access.
Only apps granted permission can use the picker and friends list APIs.
Before permission is granted, only app team members can use the feature. To enable it for all users in a live service, you must apply for permission in [My Applications] > [Request App Permissions].
For information on requesting permissions, refer to the Official Documentation.

If the consent items are configured for consent during use, calling the API displays a permission prompt like the one above.
With mode='full', the picker fills the entire screen.
With mode='popup', the picker opens as a popup.
Friend list index
On Android and iOS, enableIndex controls the friend list index. It defaults to true. Set it to false to disable the index.
The web JavaScript SDK does not support this option. On web, enableIndex is ignored and the SDK's default friend picker opens.
import { selectMultipleFriends } from '@react-native-kakao/social';
const result = await selectMultipleFriends({
mode: 'full',
options: { enableIndex: false },
});
Common Types
The friend picker options and friend object are defined as follows:
export interface KakaoTalkFriendSelectOptions {
/** Friend picker theme */
viewAppearance?: 'auto' | 'light' | 'dark';
/** Friend picker device orientation */
orientation?: 'auto' | 'landscape' | 'portrait';
/** Enable friend search feature */
enableSearch?: boolean;
enableIndex?: boolean;
/** Show my profile */
showMyProfile?: boolean;
/** Show favorite friends */
showFavorite?: boolean;
/** Show picked friends (only available for multi-picker) */
showPickedFriend?: boolean;
/** Maximum number of friends that can be selected (only available for multi-picker) */
maxPickableCount?: number;
/** Minimum number of friends that can be selected (only available for multi-picker) */
minPickableCount?: number;
}
export interface KakaoTalkFriendProfile {
/** Unique identifier for message transmission. */
uuid: string;
/** Member number of the friend, only exists for friends connected to the app. */
id?: number | null;
/** Favorite status, not provided in chat room picker. */
favorite?: boolean | null;
/** Masked profile nickname. May be absent or null in the SDK response. */
maskingProfileNickname?: string | null;
/** Profile nickname. */
profileNickname?: string | null;
/** Profile thumbnail image URL. */
profileThumbnailImage?: string | null;
}
Select Single Friend
You can use selectSingleFriend() to choose a single friend.
It is defined as follows:
The mode determines whether the picker fills the screen or opens as a popup.
export async function selectSingleFriend(params: {
mode: 'full' | 'popup';
options?: KakaoTalkFriendSelectOptions;
}): Promise<KakaoTalkFriendProfile | undefined>
Select Multiple Friends
You can select multiple friends using selectMultipleFriends().
It is defined as follows:
The mode determines whether the picker fills the screen or opens as a popup.
export function selectMultipleFriends(params: {
mode: 'full' | 'popup';
options?: KakaoTalkFriendSelectOptions;
})