Skip to content

카카오 JS SDK ​

카카오 JS SDK는 카카오디벨로퍼스에서 제공하는 웹용 SDK입니다.
게임플레이 파트너사는 카카오 로그인·카카오싱크의 사용자 인증과 동의 흐름, 카카오톡 공유 기능을 연동할 때 이 SDK를 설치하고 초기화해야 합니다.

이 문서는 게임플레이 연동에 필요한 부분만 다룹니다.
SDK 버전 목록·integrity 값·브라우저 지원 범위처럼 자주 바뀌는 정보는 카카오디벨로퍼스가 정본이며, 이 페이지에 옮겨 적지 않습니다.
설치 전 전체 흐름은 카카오디벨로퍼스 시작하기 가이드를 참고하세요.

사용자 인증과 동의 흐름은 카카오싱크 API를 참고하세요.
공유 메시지를 구성하고 호출하는 방법은 공유 설정을 참고하세요.

신규 연동이라면

게임플레이 JS SDK가 카카오 JS SDK 를 내부에서 로드하므로 Gameplay.* 호출만으로 로그인·공유를 처리할 수 있습니다.
이 문서는 카카오 JS SDK 를 직접 연동하는 방식입니다.

두 방식을 동시에 구성하는 것은 권장하지 않습니다.
자세한 내용은 SDK 연동 방식 선택을 참고하세요.
JavaScript 키 발급은 방식과 무관하게 파트너사가 직접 진행합니다.

사전 준비 필수 ​

설치 전에 아래 세 가지를 먼저 확인합니다.

항목확인 위치비고
JavaScript 키[앱] > [플랫폼 키] > [JavaScript 키]파트너사 앱의 JavaScript 키를 사용합니다.
어드민 키를 쓰지 않습니다.
앱 키 확인
integrity 값카카오 JS SDK 다운로드SDK 버전과 짝이 맞는 값을 복사합니다
JavaScript SDK 도메인[앱] > [플랫폼 키] > [JavaScript 키] > [JavaScript SDK 도메인]등록한 도메인에서만 SDK 가 동작합니다
제품 링크 도메인[앱] > [제품 링크 관리] > [웹 도메인]게임플레이 도메인 https://gameplay.kakao.com 을 등록합니다

SDK 설치 필수 ​

<head> 에 SDK 스크립트를 추가합니다.
게임플레이 공유 연동은 2.8.0 이상을 요구합니다.

html
<script
  src="https://t1.kakaocdn.net/kakao_js_sdk/{버전}/kakao.min.js"
  integrity="{해당 버전의 integrity 값}"
  crossorigin="anonymous"></script>

{버전} 과 integrity 는 디벨로퍼스 다운로드 페이지에서 복사합니다.
두 값은 짝이 맞아야 합니다. 버전만 올리고 integrity 를 그대로 두면 브라우저가 무결성 검증에 실패해 SDK 가 로드되지 않습니다.

초기화 필수 ​

파트너사 앱의 JavaScript 키로 초기화합니다.
카카오 로그인·카카오싱크 또는 카카오톡 공유 기능을 호출하기 전에 한 번만 실행하면 됩니다.

ts
declare global {
  interface Window {
    Kakao: {
      init(appKey: string): void;
      isInitialized(): boolean;
    };
  }
}

if (!window.Kakao.isInitialized()) {
  window.Kakao.init('JAVASCRIPT_KEY');
}

isInitialized() 로 감싸면 SPA 에서 라우팅이 반복돼도 중복 초기화를 피할 수 있습니다.

전체 예제 ​

html
<script
  src="https://t1.kakaocdn.net/kakao_js_sdk/2.8.2/kakao.min.js"
  integrity="{2.8.2 의 integrity 값}"
  crossorigin="anonymous"></script>

<script>
  if (!window.Kakao.isInitialized()) {
    window.Kakao.init('JAVASCRIPT_KEY');
  }
</script>

초기화 이후 카카오 로그인·카카오싱크 연동에는 Kakao.Auth.authorize()를, 카카오톡 공유에는 Kakao.Share.sendCustom()을 사용합니다.
인증과 동의 흐름은 카카오싱크 API를, 템플릿 ID·templateArgs·pickerSettings 구성은 공유 설정: 구현 상세 안내를 참고하세요.

참고 문서 ​