본문으로 건너뛰기

페이스북 (facebook)

🚀 추가된 버전 : SDKSDKv1.4.0 AndroidAndroidv1.4.0 iOSiOSv1.4.0
🔔 최신화 일자: 2025-07-16

개요

facebook 네임스페이스는 페이스북 네이티브 로그인 기능을 제공하며, 사용자는 페이스북 계정을 통해 인증할 수 있습니다.

이 네임스페이스를 사용하여 로그인, 사용자 정보 조회, 로그아웃과 같은 기능을 수행할 수 있습니다.
지원되는 권한(permissions) 목록은 페이스북 권한 공식 문서에서 확인할 수 있습니다.


필수 선행 작업

nachocode SDK로 페이스북 네이티브 기능을 사용하기 위해서는 아래 사항이 먼저 완료되어야 합니다.

안드로이드 설정

1. nachocode 대시보드의 [ 앱 설정 > 개발자 설정 > 안드로이드 네이티브 설정 ]에서 해시키 확인

nachocode_developer_android_hash_key


2. nachocode 대시보드의 [ 앱 설정 > 고급 설정 > 패키지 이름 ]에서 패키지 이름 확인

nachocode_developer_android_hash_key


3. Facebook Developer의 [ 앱 설정 > 기본 설정 ]에서 앱을 등록하고 정보 입력

developer_facebook_create_app


4. 1. 해시키 확인에서 복사한 해시키2. 패키지 이름 확인에서 복사한 패키지 이름 등록

developer_facebook_android


5. Facebook Developer의 [ 앱 설정 > 고급 설정 ] 에서 클라이언트 토큰 확인

developer_facebook_client_token


6. nachocode 대시보드의 [ 앱 설정 > 개발자 설정 > 페이스북 네이티브 설정 ] 에서 [ 페이스북 네이티브 활성화 ] 토글 활성화, appIdclientToken 입력 후 저장

nachocode_developer_facebook


7. nachocode 대시보드의 [ 앱 빌드 > 안드로이드 빌드 ]에서 [ 새 버전 만들기 ] 버튼을 클릭하여 빌드

nachocode_build_android_new_version

  • 페이스북 관련 네이티브 기능은 새로 빌드 된 버전의 앱부터 적용됩니다.

iOS 설정

1. nachocode 대시보드의 [ 앱 설정 > 고급 설정 > 패키지 이름 ]에서 패키지 이름 확인

nachocode_developer_android_hash_key


2. Facebook Developer의 [ 앱 설정 > 기본 설정 ]에서 앱을 등록하고 정보 입력

developer_facebook_create_app


3. iOS 설정에서 nachocode 대시보드에서 확인한 패키지 이름 입력

developer_facebook_ios


4. Facebook Developer의 [ 앱 설정 > 고급 설정 ] 에서 클라이언트 토큰 확인

developer_facebook_client_token


5. nachocode 대시보드의 [ 앱 설정 > 개발자 설정 > 페이스북 네이티브 설정 ] 에서 [ 페이스북 네이티브 활성화 ] 토글 활성화, appIdclientToken 입력 후 저장

nachocode_developer_facebook


6. nachocode 대시보드의 [ 앱 빌드 > iOS 앱 빌드 ]에서 [ 새 버전 만들기 ] 버튼을 클릭하여 빌드

nachocode_google_login_toggle

  • 페이스북 관련 네이티브 기능은 새로 빌드 된 버전의 앱부터 적용됩니다.

타입 정의

FacebookResult

페이스북 로그인 및 요청의 결과 상태를 나타내는 타입입니다.

export declare type FacebookSuccessResult = {
status: 'success';
};
export declare type FacebookErrorResult = {
status: 'error';
errorCode: string;
message: string;
};
export declare type FacebookResult =
| FacebookSuccessResult
| FacebookErrorResult;
필드타입설명
status'error' | 'success'요청 성공 또는 실패 상태
errorCodestring (optional)오류 코드 (실패 시 반환)
messagestring (optional)오류 메시지 (실패 시 반환)

FacebookPermissionTypes

페이스북 로그인 시 요청할 권한 타입입니다.

펼쳐 보기
export declare type FacebookPermissionTypes = [
'email',
'public_profile',
'user_friends',
'user_birthday',
'user_hometown',
'user_location',
'user_photos',
'user_posts',
'user_gender',
'user_link',
'user_likes',
'user_events',
'user_videos',
'user_tagged_places',
'user_age_range',
'user_managed_groups',
'user_work_history',
'user_education_history',
'user_relationships',
'user_relationship_details',
'user_friends_relationships',
'user_pages',
];
export declare type FacebookPermissions =
(typeof FacebookPermissionTypes)[string][];

FacebookUserData

페이스북 사용자 데이터를 나타내는 타입입니다.

export declare type FacebookUserData = {
email?: string;
name?: string;
id?: number;
first_name?: string;
last_name?: string;
[fields: string]: any;
};
필드타입설명
emailstring사용자의 이메일
namestring사용자의 전체 이름
idnumber페이스북 사용자 ID
first_namestring사용자의 이름
last_namestring사용자의 성
기타any요청된 추가 필드 포함

메서드 목록

메서드설명추가된 버전
login(permissions, callback)페이스북 네이티브 로그인SDKSDKv1.4.0
isLoggedIn(callback)로그인 상태 확인SDKSDKv1.4.0
getUserData(permissions, callback)사용자 데이터 요청SDKSDKv1.4.0
logout()페이스북 네이티브 로그아웃SDKSDKv1.4.0

메서드 상세

login(permissions: FacebookPermissions, callback: (result: FacebookResult, accessToken?: string, userId?: string, userData?: FacebookUserData) => void): void

주의

필수 선행 작업이 완료되어야 사용할 수 있습니다.

설명

페이스북 네이티브 로그인 요청을 수행합니다.
사용자가 지정한 권한(permissions) 목록에 따라 필요한 권한을 요청할 수 있습니다.
로그인 성공 시 **accessToken, userId, userData**가 콜백 함수로 전달됩니다.

매개변수

이름타입필수 여부설명
permissionsFacebookPermissions요청할 권한 목록
callback(result: FacebookResult, accessToken?: string, userId?: string, userData?: FacebookUserData) => void로그인 결과를 반환하는 콜백 함수

반환 값

해당 메서드는 반환 값을 가지지 않으며, 결과는 callback을 통해 비동기적으로 제공됩니다.

사용 예제

// 페이스북 로그인 요청
Nachocode.facebook.login(
['email', 'public_profile'],
(result, accessToken, userId, userData) => {
if (result.status === 'success') {
console.log('페이스북 로그인 성공');
console.log('Access Token:', accessToken);
console.log('User ID:', userId);
console.log('User Data:', userData);
} else {
console.error('페이스북 로그인 실패:', result.errorCode, result.message);
}
}
);

isLoggedIn(callback: (result: FacebookResult, isLoggedIn: boolean, accessToken?: string, userId?: string) => void): void

주의

필수 선행 작업이 완료되어야 사용할 수 있습니다.

설명

현재 사용자가 페이스북 네이티브 로그인 상태인지 확인합니다.
로그인 여부(isLoggedIn), accessToken, userId 값을 반환합니다.

매개변수

이름타입필수 여부설명
callback(result: FacebookResult, isLoggedIn: boolean, accessToken?: string, userId?: string) => void로그인 상태를 반환하는 함수

반환 값

해당 메서드는 반환 값을 가지지 않으며, 결과는 callback을 통해 비동기적으로 제공됩니다.

사용 예제

// 페이스북 로그인 상태 확인
Nachocode.facebook.isLoggedIn((result, isLoggedIn, accessToken, userId) => {
if (isLoggedIn) {
console.log('페이스북 로그인 상태입니다.');
console.log('Access Token:', accessToken);
console.log('User ID:', userId);
} else {
console.log('페이스북에 로그인되어 있지 않습니다.');
}
});

getUserData(permissions: FacebookPermissions, callback: (result: FacebookResult, userData?: FacebookUserData) => void): void

주의

필수 선행 작업이 완료되어야 사용할 수 있습니다.

설명

페이스북에서 사용자 데이터를 요청합니다.
요청한 권한(permissions) 에 따라 사용자 프로필, 이메일, 생일 등 다양한 정보를 가져올 수 있습니다.

매개변수

이름타입필수 여부설명
permissionsFacebookPermissions요청할 사용자 데이터 권한 목록
callback(result: FacebookResult, userData?: FacebookUserData) => void사용자 데이터를 반환하는 함수

반환 값

해당 메서드는 반환 값을 가지지 않으며, 결과는 callback을 통해 비동기적으로 제공됩니다.

사용 예제

// 사용자 데이터 요청
Nachocode.facebook.getUserData(
['email', 'public_profile'],
(result, userData) => {
if (result.status === 'success') {
console.log('사용자 데이터:', userData);
} else {
console.error(
'사용자 데이터 요청 실패:',
result.errorCode,
result.message
);
}
}
);

logout(): void

주의

필수 선행 작업이 완료되어야 사용할 수 있습니다.

설명

페이스북 네이티브 로그인 세션을 로그아웃합니다.
이 메서드는 반환 값을 가지지 않습니다.

사용 예제

// 페이스북 로그아웃
Nachocode.facebook.logout();
console.log('페이스북에서 로그아웃되었습니다.');

추가 정보
  • 요청한 권한(permissions)은 페이스북 개발자 센터에서 승인된 권한만 사용 가능합니다.
  • 페이스북 사용자는 로그인 및 사용자 데이터 제공 시 명시적으로 권한을 허용해야 합니다.
  • 권한 목록은 Facebook Permissions 공식 문서에서 확인할 수 있습니다.