사이드 메뉴
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 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
Android
This document describes how to integrate Kakao Talk Channel APIs into your service with the Kakao SDK for Android ("Android SDK").
Follow Kakao Talk Channel and Add Kakao Talk Channel are available. Refer to Add Kakao Talk Channel and decide what to use. Follow Kakao Talk Channel is recommended because of the easy implementation.
To use Follow Kakao Talk Channel, set an activity in AndroidManifest.xml to support the activity redirection. Refer to the sample below.
<activityandroid:name="com.kakao.sdk.talk.FollowChannelHandlerActivity"android:exported="true"><intent-filter><action android:name="android.intent.action.VIEW" /><category android:name="android.intent.category.DEFAULT" /><category android:name="android.intent.category.BROWSABLE" /><!-- Redirect URI: "kakao${NATIVE_APP_KEY}://channel" --><data android:host="channel" android:scheme="kakao${NATIVE_APP_KEY}" /></intent-filter></activity>
| Reference | App setting |
|---|---|
[SDK, RxSDK] followChannel()[SDK] FollowChannelResult | Install Initialize Set Custom URL scheme |
| Permission | Prerequisite | Kakao Login | User consent |
|---|---|---|---|
| - | Native app key Activate Kakao Login Manage consent items Set Kakao Talk Channel | - | - |
Requests adding Kakao Talk Channel to the user.
Follow Kakao Talk Channel is available without Kakao Login.
However, to avoid an inconvenient login process, we recommend using Follow Kakao Talk Channel in a service with Kakao Login.
Displays a screen for adding Kakao Talk Channel and returns the result in the response.
Request followChannel() in TalkApiClient. Kakao Talk Channel profile ID is required. Refer to Services using Kakao Login and Services not using Kakao Login for the request process.
If the request is successful, FollowChannelResult in the response includes the Kakao Talk Channel profile ID and the result. If the request fails, refer to Trouble shooting to figure out the reason.
// Follow Kakao Talk ChannelTalkApiClient.instance.followChannel(context, "${CHANNEL_PUBLIC_ID}") { result, error ->if (result != null) {// Success} else {// Fail}}
| Reference | App setting |
|---|---|
[SDK, RxSDK] addChannel()[SDK] addChannelUrl() | Install Initialize |
| Permission | Prerequisite | Kakao Login | User consent |
|---|---|---|---|
| - | Native app key | - | - |
Provides a bridge page that lets users go to a Kakao Talk Channel and add it as a friend.
To use this feature, users must be in a logged-in state. If users click [Add Channel] in a logged-out state, direct them to the login page to log in.
Call addChannel() in TalkApiClient. Pass the profile ID of the Kakao Talk Channel.
This API does not inform whether the user adds the Kakao Talk Channel. To check the added status, use the Checking Kakao Talk Channel relationship API that shows the relationship between a user and a Kakao Talk Channel.
// Add Kakao Talk ChannelTalkApiClient.instance.addChannel(context, "_ZeUTxl") { error ->if (error != null) {Log.i(TAG, "Failed to add $error")}}
ReactiveX Android SDK does not support this feature.
To send the user to a bridge page before launching Kakao Talk, use addChannelUrl(). Pass the profile ID of the Kakao Talk Channel. To open the URL, use the openWithDefault() method in KakaoCustomTabsClient.
// Add URL of Kakao Talk Channelval url = TalkApiClient.instance.addChannelUrl("_ABcdE")// Open through CustomTabsKakaoCustomTabsClient.openWithDefault(context, url)
| Reference | App setting |
|---|---|
[SDK, RxSDK] chatChannel()[SDK] chatChannelUrl() | Install Initialize |
| Permission | Prerequisite | Kakao Login | User consent |
|---|---|---|---|
| - | Native app key | - | - |
Provides a bridge page to start a chat with the Kakao Talk Channel on Kakao Talk.
Call chatChannel() in TalkApiClient. Pass the profile ID of the Kakao Talk Channel.
This API does not inform whether the user enters the chat room successfully.
// Start Kakao Talk Channel chatTalkApiClient.instance.chatChannel(context, "_ZeUTxl") { error ->if (error != null) {Log.i(TAG, "Failed to start a chat $error")}}
ReactiveX Android SDK does not support this feature.
To send the user to a bridge page before launching Kakao Talk, use addChannelUrl(). Pass the profile ID of the Kakao Talk Channel. To open the URL, use the openWithDefault() method in KakaoCustomTabsClient.
// Kakao Talk Channel chat URLval url = TalkApiClient.instance.chatChannelUrl("_ABcdE")// Open through CustomTabsKakaoCustomTabsClient.openWithDefault(context, url)
| Reference | App setting |
|---|---|
[SDK, RxSDK] channels()[SDK] Channel | Install Initialize |
| Permission | Prerequisite | Kakao Login | User consent |
|---|---|---|---|
| - | Native app key Activate Kakao Login Manage consent items Set Kakao Talk Channel | Required | Required: Kakao Talk Channel addition status and details |
Checks whether a specific user has added or blocked your Kakao Talk Channel connected to your service app.
To get a notification when a user adds or blocks one of your Kakao Talk Channels linked to you service, use the Kakao Talk Channel webhook function.
Call the channels() method defined in the TalkApiClient class.
Make sure that this API only informs the relationship between the user and the Kakao Talk Channel connected to the app that made a request. Thus, you cannot get all Kakao Talk Channels' information that the user has added but the channels related to your service only.
If the request is successful, channels() returns the Channels object.
// Check Kakao Talk Channel relationshipTalkApiClient.instance.channels { relations, error ->if (error != null) {Log.e(TAG, "Failed to check channel relationship.", error)}else if (relations != null) {Log.i(TAG, "Succeeded in checking channel relationship. \n${relations.channels}")}}