사이드 메뉴
Getting started
Kakao Developers
Login
Communication
Advertisement
- Concepts
- Ad creation: Ad account
- Ad creation: Campaign
- Ad creation: Ad group
- Targeting for ad group
- Custom audience targeting for ad group
- Ad creation: Creative common
- Ad creation: Display creative
- Ad creation: Message creative
- Ad creation: Personalized message creative
- Bizboard landing settings
- Report
- Message management
- Personalized message management
- Message ad management
- Message ad operation
- Ad View management
- Business Form+ management
- Business Form linkage management
- Pixel & SDK linkage management
- Audience management
- Engagement targeting management
- Customer file management
- Friend group management
- Ad account management
- Reference
- Type information
- Error code
Migrate v1 to v2
This document guides information to upgrade Kakao SDK for iOS("iOS SDK") from v1(lower version of 2.0.0) to v2(version 2.0.0 or higher).
The Legacy iOS SDK requires configuring a project and importing the SDK to call APIs. On the other hand, the latest iOS SDK requires explicit initialization before calling an API.
The token-based APIs refer to the APIs that require Kakao Login, which provides an access token.
With the Legacy iOS SDK, use KOSessionTask to call an API that passes an access token issued through Kakao Login. When using the Legacy iOS SDK, the session changes according to a user's login status, and some APIs can be called only when a session is open.
APIs in the latest iOS SDK are separated by modules. However, for the API that passes an access token through Kakao Login, the Kakao Login module and implementing the login feature is required along with the desired module.
Considering the structural difference, check if the desired module is dependent on Kakao Login. For the token-based APIs that require Kakao Login, the development guide for each API describes the required modules and whether to implement Kakao Login.
- Latest SDK: Call the
initSDK()method that initializes the SDK throughKakaoSDK.
| Name | Legacy SDK | SDK |
|---|---|---|
| Initializing Kakao SDK | - | initSDK() |
In iOS SDK 2.8.3, the class names, used for initialization, have been changed:
- KakaoSDKCommon → KakaoSDK
- RxKakaoSDKCommon → RxKakaoSDK
- Legacy SDK:
- Call the Kakao Login APIs including the Get consent to desired service terms API through
KOSession. - Call the token-based APIs such as including the Retrieve shipping address and the Retrieve consent details for service terms APIs through
KOSessionTask.
- Call the Kakao Login APIs including the Get consent to desired service terms API through
- Latest SDK:
- Call the Kakao Login APIs through
UserApiin theKakaoSDKUsermodule. - Call the Check token presence API through
AuthApiin theKakaoSDKAuthmodule.
- Call the Kakao Login APIs through
| Name | Legacy SDK | SDK |
|---|---|---|
| Checking if Kakao Talk is installed | - | isKakaoTalkLoginAvailable() |
| Kakao Login | openWithCompletionHandler | - |
| Login with Kakao Talk | - | loginWithKakaoTalk() |
| Login with Kakao Account | - | loginWithKakaoAccount() |
| Check token presence | isOpen | hasToken() |
| Logout | logoutAndCloseWithCompletionHandler | logout() |
| Unlink | unlinkTaskWithCompletionHandler | unlink() |
| Retrieve token information | accessTokenInfoTaskWithCompletionHandler | accessTokenInfo() |
| Retrieve user information | userMeTaskWithCompletion | me() |
| Retrieve shipping address | shippingAddressTask | shippingAddresses() |
| Store user information | profileUpdateTaskWithProperties:properties: | updateProfile(properties:) |
| Request additional consent | updateScopes:needsAgreementScopes: | loginWithKakaoTalk(scopes:) loginWithKakaoAccount(scopes:) |
| Retrieve consent details for service terms | serviceTermsTask | serviceTerms() |
| Get consent to desired service terms | open | loginWithKakaoTalk(serviceTerms:) loginWithKakaoAccount(serviceTerms:) |
- Legacy SDK: Call the Kakao Talk Social APIs through
KOSessionTask. - Latest SDK: Call the Kakao Talk Social APIs through
TalkApiin theKakaoSDKTalkmodule.
| Name | Legacy SDK | SDK |
|---|---|---|
| Retrieve Kakao Talk profile | talkProfileTaskWithCompletionHandler | profile() |
| Retrieve list of friends | appFriendsWithContext:context: | friends() |
- Legacy SDK:
- Call the Kakao Talk Share APIs through
KLKTalkLinkCenterfor the Send message API. - Call the Image API through
KLKImageStorage. - If Kakao Talk is not installed on a user's device, a message is internally sent through a WebView.
- Call the Kakao Talk Share APIs through
- Latest SDK:
- Call the Kakao Talk Share APIs through
ShareApiin theKakaoSDKSharemodule. - If Kakao Talk is not installed on a user's device, implement a process to share URI through a WebView or a default browser.
- Call the Kakao Talk Share APIs through
In iOS SDK 2.11.0, the names of the module, classes, and methods related to Kakao Talk Share have been changed due to the change of its service name.
To see more detailed changes, see Version history.
| Name | Legacy SDK | SDK |
|---|---|---|
| Checking if Kakao Talk is installed | - | isKakaoTalkSharingAvailable() |
| Sending with default template | sendDefaultWithTemplate:template: | shareDefault(templatable:) |
| Sending with custom template | sendCustomWithTemplateId:templateId:templateArgs: | shareCustom(templateId:templateArgs:) |
| Sending a scrap message | sendScrapWithURL: url:templateId: | shareScrap(requestUrl:templateId:) |
| Uploading an image | uploadWithImage:sourceImage: | imageUpload(image:) |
| Scraping an image | scrapWithImageURL:imageURL: | imageScrap(imageUrl:) |
| Deleting an image | deleteWithImageURL:imageURL: | - |
- Legacy SDK: Call the Kakao Talk APIs through
KOSessionTask. - Latest SDK: Call the Kakao Talk APIs through
TalkApiin theKakaoSDKTalkmodule.
| Name | Legacy SDK | SDK |
|---|---|---|
| Sending me with default template | talkMemoSendTaskWithTemplate:template: | sendDefaultMemo(templatable:) |
| Sending me with custom template | talkMemoSendTaskWithTemplateId:templateId: | sendCustomMemo(templateId:) |
| Sending me a scrap message | talkMemoSendTaskWithURL:url:templateId: | sendScrapMemo(requestUrl:templateId:) |
| Sending friends with default template | sendMessageToFriendsWithTemplate:template: | sendDefaultMessage(templatable:receiverUuids:) |
| Sending friends with custom template | sendMessageToFriendsTaskWithTemplateId:templateId: | sendCustomMessage(templateId:receiverUuids:) |
| Sending friends a scrap message | sendMessageToFriendsTaskWithURL:url:templateId: | sendScrapMessage(requestUrl:templateId:receiverUuids:) |
- Legacy SDK:
- Call the Add Kakao Talk Channel and Kakao Talk Channel chat APIs through
KPFPlusFriend. - Call the Check Kakao Talk Channel relationship API through
KOSessionTask.
- Call the Add Kakao Talk Channel and Kakao Talk Channel chat APIs through
- Latest SDK:
- Call the Kakao Talk Channel APIs through
TalkApiin theKakaoSDKTalkmodule. - Call the Check Kakao Talk Channel relationship API after implementing Kakao Login.
- Call the Kakao Talk Channel APIs through
| Name | Legacy SDK | SDK |
|---|---|---|
| Add Kakao Talk Channel | addFriend:plusFriendId: | makeUrlForAddChannel(channelPublicId:) |
| Starting Kakao Talk Channel chat | chat:plusFriendId: | makeUrlForChannelChat(channelPublicId:) |
| Check Kakao Talk Channel relationship | talkPlusFriendsTask | channels() |
- Legacy SDK:
- Call the Navi APIs through
KNVNaviLauncher. - Use a class builder to set parameters.
- Call the Navi APIs through
- Latest SDK:
- Call the Navi APIs through
KakaoSDKNaviin theNaviApimodule. - Define the constructor for each class to set parameters.
- Call the Navi APIs through
| Name | Legacy SDK | SDK |
|---|---|---|
| Navigation | navigateWithParams:params: | navigateUrl(destination:) |
| Sharing location | shareDestinationWithParams:params: | shareUrl(destination:) |
| Setting conditions for navigation | locationWithName | NaviOption() |
| Setting conditions for destination information | paramsWithDestination | NaviLocation() |
- Legacy SDK: Call the Push Notification API through
KOSessionTask. - Latest SDK: Not support Push Notification API. The push Notification is available using REST API.
| Name | Legacy SDK | SDK |
|---|---|---|
| Register push token | pushRegisterDeviceWithToken:deviceToken: | - |
| Retrieve push token | pushGetTokensTaskWithCompletionHandler | - |
| Delete push token | pushDeregisterDeviceWithToken:deviceToken: | - |