플러스친구 연동

플러스친구 연동을 하면 카카오싱크 간편가입 화면을 통해서 '플러스친구'를 모을 수 있게 됩니다. 카카오싱크 간편가입을 통해서 모은 플러스친구에게는 카카오 사용자 아이디를 기반으로 타겟팅된 메시지를 보낼 수 있습니다.

이번 단계에서는 개발하기 전에 설정해야 할 내용과 플랫폼별로 연동하는 방법에 대해 소개합니다.

개발하기 전에

1~3번 순으로 진행하면 카카오싱크 간편가입 화면을 통해서 플러스친구를 모을 수 있게 됩니다.

1) 플러스친구 프로필 인증하기

2) 플러스친구와 앱을 연결하기

3) 동의창 설정하기

  • 플러스친구 추가 상태 및 내역 항목 추가하기 (내 애플리케이션 > 설정 > 사용자 관리 > 로그인 동의항목)

sync_pf_02.png

  • 플러스친구 추가 설정하기

sync_pf_01.png

설정을 완료하면 아래 화면과 같이 표시됩니다.

sync_pf_03.png

플러스친구 추가/차단 콜백

플러스친구 콜백은 사용자가 플러스친구(앱에 연결된 플러스친구)를 추가하거나 차단했을 때 콜백으로 서비스의 API를 호출해주는 역할을 합니다.

내 애플리케이션 > 설정 > 사용자 관리 > 플러스친구 추가/차단 콜백 URL 설정에서 플러스친구 추가/차단 콜백 API를 설정할 수 있습니다.

sync_pf_04.png

[콜백 URL 정보]

메서드 요청 URL
POST 설정한 콜백 URL

[헤더]

헤더명 타입 설명
Authorization String 콜백 호출 시 전달되는 헤더 포맷
(Authorization: KakaoAK ${adminKey})

[파라미터]

필드명 타입 설명
event String 콜백 API의 이벤트 타입 (added or blocked)
id String 플러스친구 차단 또는 추가 시의 사용자 식별자
id_type String 사용자 식별자의 타입
plus_friend_public_id String 플러스친구의 식별자
timestamp Long 이벤트가 일어난 시간

[요청 샘플]

curl -X POST https://example.com  \
  -H 'Authorization: KakaoAK ${adminKey}' \
  -H 'Content-Type: application/json' \
  -d '{"event":"added","id":"1111","id_type":"app_user_id","plus_friend_public_id":"_FLX","plus_friend_uuid":"@ad","timestamp":1557912818000}'

플러스친구 관계 조회 API

REST API 사용하기

플러스친구 관계 조회 API는 카카오싱크 간편가입을 통해 가입한 사용자와 ‘플러스친구’의 관계를 확인할 수 있는 API입니다.

요청

[요청 URL 정보]

메서드 요청 URL 설명
GET https://kapi.kakao.com/v1/api/talk/plusfriends 플러스친구 관계 조회 API

[요청 헤더]

헤더명 타입 필수 여부 설명
Authorization String Y 사용자 토큰(access_token)을 전달하는 헤더 포맷
(Authorization: Bearer ${access_token})

[요청 샘플]

curl -v -X GET https://kapi.kakao.com/v1/api/talk/plusfriends
-H "Authorization: Bearer ${access_token}"
응답
필드명 타입 설명
user_id Long 사용자의 고유 ID
plus_friends Array of PlusFriendInfo 플러스친구와 유저와의 관계

[PlusFriendInfo]

필드명 타입 설명
plus_friend_public_id String 플러스친구의 공개 아이디
relation String 플러스친구와 유저와의 관계, 추가된 상태/관계없음
(ADDED/NONE)
updated_at Datetime 플러스친구 관계가 변경된 시간
(RFC3339 internet date/time format)

[응답 샘플]

{
 "user_id": 1111111
 "plus_friends": [
  {
   "plus_friend_public_id": "_aTSxexl",
   "plus_friend_uuid": "@테스트",
   "relation": "ADDED",
   "updated_at": "2019-05-10T08:06:53Z"
  }
 ]
}

Android SDK 사용하기

안드로이드 SDK를 사용하여 사용자와 플러스친구의 관계를 조회할 수 있습니다.

SDK 초기화 및 유저 로그인이 이루어진 후에 조회가 가능합니다.

플러스친구 관계 조회 API를 안드로이드 SDK에서 사용하시려면 프로젝트에 아래와 같이 카카오톡 SDK 의존성을 설정해 주어야 합니다.

[build.gradle]

subprojects {
  repositories {
    google()
    jcenter()
    maven { url 'http://devrepo.kakao.com:8088/nexus/content/groups/public/' }
  }
}

[app/build.gradle]

dependencies {
  // 카카오 로그인
  implementation 'com.kakao.sdk:usermgmt:1.17.0'
  // 카카오톡
  implementation 'com.kakao.sdk:kakaotalk:1.17.0'
}

성공적으로 카카오 SDK를 import하신 후에 com.kakao.kakaotalk.v2 패키지의 KakaoTalkService 클래스를 사용하여 플친 관계 API를 호출합니다.

KakaoTalkService.getInstance().requestPlusFriends(new
TalkResponseCallback<PlusFriendsResponse>() {
  @Override
  public void onNotKakaoTalkUser() {
    // 카카오톡 유저가 아님
  }

  @Override
  public void onSessionClosed(ErrorResult errorResult) {
    // 자동 가입이 켜진 상태이기 때문에 이 블록은 진입하지 않는다.
  }

  @Override
  public void onNotSignedUp() {
    // 들어오지 않음
  }

  @Override
  public void onFailure(ErrorResult errorResult) {
    // 그 외 에러
  }

  @Override
  public void onSuccess(PlusFriendsResponse result) {
    // 성공적으로 플친 관계를 조회해온 경우
  }
});

성공 콜백의 PlusFriendsResponse는 위 REST API 가이드의 응답 모델 가이드를 참고하세요.

iOS SDK 사용하기

카카오 iOS SDK를 통하여 사용자와 플러스친구 관계를 조회하는 방법입니다.

플러스친구 관계를 조회하기 위해서는 카카오 로그인 연동을 마친 후 사용자가 로그인된 상태여야 합니다.

로그인 된 상태에서 아래와 같이 호출합니다.

KOSessionTask.talkPlusFriendsTask(completionHandler: { (plusFriends, error) in
  if let plusFriends = plusFriends {
    // 성공
  } else if let error = error as NSError? {
    // 실패
    switch (error.code) {
    case Int(KOErrorCancelled.rawValue):
      // 플러스친구 정보 제공 동의 취소
      break
    case Int(KOServerErrorNotTalkUser.rawValue):
      // 카카오톡 유저가 아님
      break
    default:
      // 기타 에러
      break
    }
  }
})

JavaScript SDK 사용하기

카카오 JavaScript SDK를 통하여 사용자와 플러스친구 관계를 조회하는 방법입니다.

플러스친구 관계를 조회하기 위해서는 카카오 로그인 연동을 마친 후 사용자가 로그인이 된 상태여야 합니다.

JavaScript SDK 사용을 위해서 SDK를 import 합니다.

<script src="//developers.kakao.com/sdk/js/kakao.min.js"></script>

로그인 된 상태에서 Kakao.API.request 함수를 사용해서 플러스친구 관계를 조회 API를 호출합니다.

Kakao.API.request({
  url: '/v1/api/talk/plusfriends',
  success: function(res) {
    console.log(res);
  },
  fail: function(error) {
    console.log(error);
  }
});

요청에 대한 응답은 REST API 응답과 동일합니다.


Last Modified : 2019-05-16