서비스 약관 연동

서비스 약관 연동을 하면 카카오싱크 간편가입 화면을 통해서 '서비스 약관에 대한 동의'를 받을 수 있게 됩니다. 서비스 약관을 별도로 받을 필요가 없기 때문에 회원가입 단계를 단축시킬 수 있습니다.

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

개발하기 전에

먼저 여러분 서비스의 약관을 확인해주세요. 카카오싱크 간편가입 화면에 노출할 수 있는 약관은 실제 서비스를 기준으로 해야 합니다.

1) 서비스 약관 검수 신청

카카오싱크 신청 시 서비스 약관을 입력하실 수 있습니다.

2) 서비스 약관 적용 방법

카카오싱크 신청 후 서비스 약관 등록이 완료되면 ‘카카오싱크 간편가입’ 화면을 활용할 준비가 된 것입니다.

카카오 디벨로퍼스의 내 애플리케이션 > 설정 > 사용자관리 > 카카오 간편가입 에서 옵션을 ON으로 설정하면 기존의 ‘카카오 로그인’ 화면이 ‘카카오싱크 간편가입’ 화면으로 바뀌게 됩니다.

기존에 카카오 로그인을 활용하고 계셨던 경우에는 미리 필요한 준비를 마친 뒤 옵션을 설정해, 카카오싱크 간편가입을 적용하시길 바랍니다.

sync_terms_01.png

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

sync_terms_02.png

REST API 사용하기

서비스 약관 조회 API는 사용자가 카카오싱크 간편가입에서 어떤 서비스 약관에 동의했는지 조회하는 API입니다. 약관 조회로 얻은 tag 정보를 기준으로 서비스 자체적으로 추가 약관을 받을 것인지 여부를 결정할 수도 있습니다.

요청

[요청 URL 정보]

메서드 요청 URL 설명
GET https://kapi.kakao.com/v1/user/service/terms 서비스 약관 조회 API

[요청 헤더]

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

[요청 샘플]

curl -v -X GET https://kapi.kakao.com/v1/user/service/terms
-H "Authorization: Bearer ${access_token}"
응답
필드명 타입 설명
user_id Long 사용자의 고유 ID
allowed_service_terms Array of AllowedTerms 사용자가 동의한 서비스 약관 항목의 리스트

[AllowedTerms]

필드명 타입 설명
tag String 서비스 약관에 설정한 tag
agreed_at Datetime 사용자가 서비스 약관에 마지막으로 동의한 시간
(RFC3339 internet date/time format)

[응답 샘플]

{
 "user_id": 111111,
 "allowed_service_terms": [
  {
   "tag": "service_20190101",
   "agreed_at": "2019-05-10T10:33:26Z"
  },
  {
   "tag": "privacy_20190102",
   "agreed_at": "2019-05-10T10:33:26Z"
  }
 ]
}

Android SDK 사용하기

카카오 안드로이드 SDK를 통하여 서비스 약관 연동을 하는 방법입니다. 카카오 로그인 연동을 마친 후 유저가 로그인된 상태여야 합니다.

서비스 약관 조회 API를 안드로이드 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'
}
UserManagement.getInstance().serviceTerms(new
  ApiResponseCallback<ServiceTermsResponse>() {
    @Override
    public void onSessionClosed(ErrorResult errorResult) {
      // 재 로그인이 필요한 상태
      // 토큰 만료, 계정 인증 정보 변경 등
    }
    @Override
    public void onNotSignedUp() {
      // 자동 가입이 켜진 상태이기 때문에 이 블록은 진입하지 않는다.
    }
    @Override
    public void onFailure(ErrorResult errorResult) {
      // 기타 에러
    }
    @Override
    public void onSuccess(ServiceTermsResponse result) {
      // 성공 콜백
    }
});

iOS SDK 사용하기

카카오 iOS SDK를 통하여 서비스 약관 연동을 하는 방법입니다.

사용자가 동의한 약관을 조회하기 위해서는 카카오 로그인 연동을 마친 후 유저가 로그인된 상태여야 합니다.

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

KOSessionTask.serviceTermsTask(completionHandler: { (serviceTerms, error) in
  if let serviceTerms = serviceTerms {
    // 성공
  } else {
    // 실패
  }
})

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/user/service/terms',
  success: function(res) {
    console.log(res);
  },
  fail: function(error) {
    console.log(error);
  }
});

Last Modified : 2019-05-16