| iOS | Android | Web |
|---|---|---|
| 2.5.1 | 2.5.0 | 1.39.14 |
ํด๋น ๋ชจ๋์ Swift๋ก ๋์ด์์ด์
๊ทธ๋ฅ ๊ฐ๋ ์ ์๋์ด ์๋ ์ ์์ต๋๋ค.
Xcode์์ ํ๋ก์ ํธ ๋ด ๋น์ด์๋ Swift File๋ฅผ ์๋ก ๋ง๋ค๊ณ Headers ์์ฑ์ ๋๋ฅด๋ฉด
์ค์ํํธ ๋ชจ๋๋ก ์กํ๋ฉด์ ์ ์์ ์ผ๋ก ๋๊ฒ ๋ฉ๋๋ค.
์ดํ ํด๊ฒฐ๋ฐฉ์ ๋์ค๋ฉด ๋ณ๋๋ก ๊ณต์งํ๊ฒ ์ต๋๋ค.
๊ฐ์๊ธฐ 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๊ฐ ์คํ๋ฉ๋๋ค.
๊ณต์๋ฌธ์ - ๊ฐ๋ฐ ํ๋ก์ ํธ ์ค์ ์ ์ฐธ๊ณ ํ์ฌ 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 ์ ๋ ฅ์ ํ์๋ฉด ์๋์ผ๋ก ์ถ๊ฐ๊ฐ๋ฉ๋๋ค.
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();ํด๋น ๋ชจ๋์ ์กํธ๋ฒ ์ด์ค(์ )์์ ๊ฐ๋ฐ ๋ฐ ๊ด๋ฆฌ๋ฅผ ์งํํ๊ณ ์์ต๋๋ค.
ํ๋ก์ ํธ ๋ฌธ์ ํน์ ์ ํด๊ฐ ํ์ํ ๊ฒฝ์ฐ project@actbase.io๋ก ์ฐ๋ฝ์ฃผ์ธ์.
- 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
- ์ฒซ ๋ฐฐํฌ
