Skip to content

Commit

Permalink
docs(social): update docs
Browse files Browse the repository at this point in the history
  • Loading branch information
mym0404 committed Apr 27, 2024
1 parent ab37b0e commit 2662203
Show file tree
Hide file tree
Showing 4 changed files with 189 additions and 35 deletions.
58 changes: 58 additions & 0 deletions docs/docs/social/get-talk-profile.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
---
sidebar_position: 5
---

# 내 카카오톡 프로필 가져오기
## 내 카카오톡 프로필 가져오기

[공식 문서](https://developers.kakao.com/docs/latest/ko/kakaotalk-social/android#get-profile)

:::info
카카오 로그인 활성화 및 동의 항목에 프로필 정보, 닉네임, 프로필 사진이 동의되어 있어야 API및 관련 응답이 모두 채워져서 반환됩니다.
:::

## Usage

`getTalkProfile()`를 이용해 내 카카오톡 프로필을 가져올 수 있습니다.

이 함수는 다음과 같이 정의됩니다.

```tsx
export function getTalkProfile(): Promise<KakaoTalkProfile>
```

다음과 같은 타입을 가집니다.

```tsx
export interface KakaoTalkProfile {
/**
* 카카오톡 닉네임
*
* 필요한 동의항목: 프로필 정보(닉네임/프로필 사진) 또는 닉네임
*/
nickname?: string;
/**
* 사용자가 카카오톡을 이용 중인 국가
*
* @deprecated
* @link https://devtalk.kakao.com/t/api-change-notice-response-fields-of-the-retrieving-kakao-talk-kakao-story-api/115151
*/
countryISO?: string;
/**
* 카카오톡 프로필 이미지 URL
* 640px * 640px 크기, HTTPS만 지원
*
* 필요한 동의항목: 프로필 정보(닉네임/프로필 사진) 또는 프로필 사진
*/
profileImageUrl?: string;
/**
* 카카오톡 프로필 썸네일(Thumbnail) 이미지 URL
* 110px * 110px 크기, HTTPS만 지원
*
* 필요한 동의항목: 프로필 정보(닉네임/프로필 사진) 또는 프로필 사진
*/
thumbnailUrl?: string;
}
```

응답값에 대한 최신 설명은 [공식 문서](https://developers.kakao.com/docs/latest/ko/kakaotalk-social/rest-api#get-profile)를 참고해주세요.
35 changes: 0 additions & 35 deletions docs/docs/social/navigate-destination.mdx

This file was deleted.

96 changes: 96 additions & 0 deletions docs/docs/social/select-talk-friends.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
---
sidebar_position: 5
---

# 카카오톡 친구 선택하기
## 카카오톡 친구 선택하기

[공식 문서](https://developers.kakao.com/docs/latest/ko/kakaotalk-social/android#picker-friends)

:::info
API를 사용하기 위해서 카카오 로그인 및 관련 동의 항목이 동의된 상태여야 합니다.

피커와 친구 목록 가져오기 API는 사용 권한이 주어진 앱에서만 사용할 수 있습니다.
사용 권한을 받기 전에는 앱의 팀원에게만 사용 가능하도록 기능 동작이 제한됩니다.
실제 서비스에서 모든 사용자에게 기능을 사용하려면 `[내 애플리케이션] > [앱 권한 신청]`에서 사용 권한을 신청해야 합니다.

사용 권한 신청에 대해서는 [공식 문서](https://developers.kakao.com/docs/latest/ko/kakaotalk-social/common#policy-request-permission)를 참고해주세요.
:::

## 공통 타입들

친구 피커를 설정하는 옵션 객체와 친구 객체는 다음과 같이 정의됩니다.

```tsx
export interface KakaoTalkFriendSelectOptions {
/** 친구 피커의 이름 */
title?: string;
/** 친구 피커 테마 */
viewAppearance?: 'auto' | 'light' | 'dark';
/** 친구 피커의 기기 방향 */
orientation?: 'auto' | 'landscape' | 'portrait';
/** 친구 검색 기능 사용 여부 */
enableSearch?: boolean;
/** 내 프로필 표시 여부 */
showMyProfile?: boolean;
/** 즐겨찾기 친구 표시 여부 */
showFavorite?: boolean;
/** 선택한 친구 표시 여부 (멀티 피커에만 사용 가능) */
showPickedFriend?: boolean;
/** 선택 가능한 친구 수의 최대값 (멀티 피커에만 사용 가능) */
maxPickableCount?: number;
/** 선택 가능한 친구 수의 최소값 (멀티 피커에만 사용 가능) */
minPickableCount?: number;
}

export interface KakaoTalkFriendProfile {
/**
* 해당 앱에서의 사용자 식별 코드 연결 상태와 관계 없으며 일반적으로 메시지 전송 시 사용 카카오톡을 탈퇴하거나
* 새로 가입할 경우 값이 변경될 수 있음 사용자의 계정 상태에 따라 바뀔 수 있으므로, 앱에서 사용자 식별자로 사용하는 것을 권장하지 않음
*/
uuid: string;
/** 친구의 회원번호, 앱과 연결된 친구에게만 존재 */
id?: number;
/** 즐겨찾기 추가 여부, 채팅방 피커에서는 미제공 */
favorite?: boolean;
/** 프로필 닉네임, 프로필 닉네임 동의 항목에 동의하지 않은 친구나 앱과 연결되지 않는 친구의 경우,
* 닉네임을 마스킹 처리하여 제공(닉네임 원본을 받으려면 권한 및 displayAllProfile 설정 필요) */
profileNickname?: string;
/**
* 프로필 썸네일 이미지, 프로필 썸네일 이미지 동의 항목에 동의하지 않은 친구나 앱과 연결되지 않은 친구의 경우,
* 프로필 이미지 미제공(프로필 이미지를 받으려면 권한 및 displayAllProfile 설정 필요)
*/
profileThumbnailImage?: string;
}
```


## 단일 친구 선택하기

`selectSingleFriend()`를 이용해 친구 한 명을 선택할 수 있습니다.

이 함수는 다음과 같이 정의됩니다.

`mode`에 따라 화면을 모두 덮는 Picker가 열릴지, 팝업 형태로 열릴지가 달라집니다.

```tsx
export async function selectSingleFriend(params: {
mode: 'full' | 'popup';
options?: KakaoTalkFriendSelectOptions;
}): Promise<KakaoTalkFriendProfile | undefined>
```

## 여러 친구 선택하기

`selectMultipleFriends()`를 이용해 여러 친구를 선택할 수 있습니다.

이 함수는 다음과 같이 정의됩니다.

`mode`에 따라 화면을 모두 덮는 Picker가 열릴지, 팝업 형태로 열릴지가 달라집니다.

```tsx
export function selectMultipleFriends(params: {
mode: 'full' | 'popup';
options?: KakaoTalkFriendSelectOptions;
})
```
35 changes: 35 additions & 0 deletions packages/social/src/spec/NativeKakaoSocial.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,20 +3,55 @@ import { TurboModuleRegistry } from 'react-native';
import type { UnsafeObject } from 'react-native/Libraries/Types/CodegenTypes';

export interface KakaoTalkProfile {
/**
* 카카오톡 닉네임
*
* 필요한 동의항목: 프로필 정보(닉네임/프로필 사진) 또는 닉네임
*/
nickname?: string;
/**
* 사용자가 카카오톡을 이용 중인 국가
*
* @deprecated
* @link https://devtalk.kakao.com/t/api-change-notice-response-fields-of-the-retrieving-kakao-talk-kakao-story-api/115151
*/
countryISO?: string;
/**
* 카카오톡 프로필 이미지 URL
* 640px * 640px 크기, HTTPS만 지원
*
* 필요한 동의항목: 프로필 정보(닉네임/프로필 사진) 또는 프로필 사진
*/
profileImageUrl?: string;
/**
* 카카오톡 프로필 썸네일(Thumbnail) 이미지 URL
* 110px * 110px 크기, HTTPS만 지원
*
* 필요한 동의항목: 프로필 정보(닉네임/프로필 사진) 또는 프로필 사진
*/
thumbnailUrl?: string;
}
export interface KakaoTalkFriendSelectResult {
totalCount: number;
users: KakaoTalkFriendProfile[];
}
export interface KakaoTalkFriendProfile {
/**
* 해당 앱에서의 사용자 식별 코드 연결 상태와 관계 없으며 일반적으로 메시지 전송 시 사용 카카오톡을 탈퇴하거나
* 새로 가입할 경우 값이 변경될 수 있음 사용자의 계정 상태에 따라 바뀔 수 있으므로, 앱에서 사용자 식별자로 사용하는 것을 권장하지 않음
*/
uuid: string;
/** 친구의 회원번호, 앱과 연결된 친구에게만 존재 */
id?: number;
/** 즐겨찾기 추가 여부, 채팅방 피커에서는 미제공 */
favorite?: boolean;
/** 프로필 닉네임, 프로필 닉네임 동의 항목에 동의하지 않은 친구나 앱과 연결되지 않는 친구의 경우,
* 닉네임을 마스킹 처리하여 제공(닉네임 원본을 받으려면 권한 및 displayAllProfile 설정 필요) */
profileNickname?: string;
/**
* 프로필 썸네일 이미지, 프로필 썸네일 이미지 동의 항목에 동의하지 않은 친구나 앱과 연결되지 않은 친구의 경우,
* 프로필 이미지 미제공(프로필 이미지를 받으려면 권한 및 displayAllProfile 설정 필요)
*/
profileThumbnailImage?: string;
}
export interface KakaoTalkFriendSelectOptions {
Expand Down

0 comments on commit 2662203

Please sign in to comment.