Skip to main content

Select KakaoTalk Friends

Selecting KakaoTalk Friends​

Official Documentation

info

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.

image

If the consent items are configured for consent during use, calling the API displays a permission prompt like the one above.

full screen

With mode='full', the picker fills the entire screen.

full 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;
})