KakaoSDK for React, React-Native
Use Dependencies
iOS | Android | Web |
---|---|---|
2.5.1 | 2.5.0 | 1.39.14 |
처음 설치 시 주의 사항 (React-Native 만)
해당 모듈은 Swift로 되어있어서
그냥 가동 시 작동이 안될 수 있습니다.
Xcode에서 프로젝트 내 비어있는 Swift File를 새로 만들고 Headers 생성을 누르면
스위프트 모드로 잡히면서 정상적으로 돌게 됩니다.
이후 해결방안 나오면 별도로 공지하겠습니다.
Xcode 12.5 업뎃 후 빌드 실패 해결법 (React-Native 만)
갑자기 Xcode 업데이트 후 디버그로는 빌드가 안되는 문제가 있습니다.
원인은 Alamofire에서 나오는 부분인데 프로젝트 설정으로 해결할 수 있습니다.
해당 프로젝트 설정을 접근 후 Target에 프로젝트에서 Build Settings 접근 후 Library Search Path를 검색하면 그 안에 Debug쪽에 있는 부분을 수정해야합니다.
$(inherited)를 제외한 2개를 삭제 후 저장하고 빌드하면 정상적으로 돌아갑니다.
사용 환경
- CRA (create-react-app)
- Next.js
- React-Native 0.61 이상
- React-Native-Web
시작하기
$ npx @actbase/react-kakaosdk
웹이나 앱을 구분 한 뒤 알아서 wizard가 실행됩니다.
iOS
공식문서 - 개발 프로젝트 설정 을 참고하여 info.plist
의 아래NATIVE_APP_KEY
문구를 잘 확인하시여 본인의 Kakao App Key로 변경해주세요.
+ <key>KAKAO_APP_KEY</key>
+ <string>{NATIVE_APP_KEY}</string>
AppDelegate.m (++ 된 부분 추가)
#import "WithKakaoSDK.h"
- (BOOL)application:(UIApplication *)app
openURL:(NSURL *)url
options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options
{
...
++ NSString *appKey = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"KAKAO_APP_KEY"];
[WithKakaoSDK initSDK: appKey];
if ([WithKakaoSDK isKakaoTalkLoginUrl:url]) return [WithKakaoSDK handleOpenUrl:url];
[[FBSDKApplicationDelegate sharedInstance] application:app
openURL:url
options:options];
...
return NO;
}
다른 수정사항은 npx를 이용해 kakaosdk모듈을 설치 진행 하고 kakaoApiKey 입력을 하시면 자동으로 추가가됩니다.
Android
사용방법
Project build.gradle 안에 다음과 같이 android sdk repository를 추가해주세요.
allprojects {
repositories {
maven { url 'https://devrepo.kakao.com/nexus/content/groups/public/' }
}
}
import KakaoSDK from '@actbase/react-kakaosdk';
// 카카오 로그인 시 처리부문
await KakaoSDK.init(NATIVE_APP_KEY);
const tokens = await KakaoSDK.login();
변수명 | 설명 |
---|---|
access_token | 카카오의 access_token |
refresh_token | 카카오의 refresh_token |
expires_in | 카카오의 accessToken 만료 남은 초 |
refresh_token_expires_in | 카카오의 refreshToken 만료 남은 초 |
scopes | 사용권한 |
import KakaoSDK from '@actbase/react-kakaosdk';
// 카카오 로그아웃시 처리
await KakaoSDK.logout();
// 카카오 회원정보 가져오기
const profile = await KakaoSDK.getProfile();
Contacts
해당 모듈은 액트베이스(유)에서 개발 및 관리를 진행하고 있습니다.
프로젝트 문의 혹은 제휴가 필요한 경우 project@actbase.io로 연락주세요.
Changes
- 0.9.24
- use_framework! 시 사용가능하도록 변경
- 0.9.20
- 카카오 최신 SDK 반영
- 0.9.19
- 카카오 iOS SDK 장애로 버전 fixed 처리
- 0.9.18
- 액트베이스(유) 오픈소스 기준에 맞춰서 수정
- 0.9.17
- 카카오 로그인 시 keyhash 없는경우 클립보드에 넣어주는 기능 장애 처리
- 0.9.16
- 적폐 제거 (원인제공자는 살림)
- 0.9.14
- 사용하지 않는 명령 제거
- typing 업데이트
- 0.9.12
- 웹버전 scope없을때 장애 처리
- 0.9.11
- 안드로이드 간혈적 에러 처리
- 0.9.10
- 카카오 웹 버전에서도 openChannel 사용가능.
- openChannelChat으로 즉시 채팅 열수있음.
- 0.9.8
- iOS Kakao Login 버그수정
- 0.9.7
- 카카오 채널 기능 버그수정
- 0.9.6
- 카카오 채널 기능 추가
- 0.9.4
- 안드로이드 간혈적 kakaoAccount null 일 경우 처리
- 0.9.3
- 첫 배포