Search
🔍

약관 연동 (약관 체크 등) (25.07.22 업데이트)

웹에서 약관(서비스이용약관)을 연동하기 위해 가이드 합니다.
웹에서 약관(서비스) 연동은 웹에 런처 실행의 정책 및 동선에 따라 연동에 대해 선택 할 수 있습니다.런처에서 게임실행 시 약관(서비스이용약관) 동의를 받습니다.웹에서 런처실행 전 약관(서비스이용약관) 동의를 받아야 할 경우에 연동하면 됩니다.

01. CDN 라이브러리

환경 별 CDN 도메인 정보
Evn.
Domain
Sandbox
Live
CDN 라이브러리 Path 정보
lib Path
/libs/stove-js-service/latest/stove-terms.js

02. 라이브러리 연결하기

라이브러리 script 위치
script 태그 위치는 head 태그 또는 body 태그 가장 하단에 정의 합니다.
defer 옵션 script 태그 옵션은 defer로 설정해서 모든 컨텐츠가 다운로드 완료된 후 script가 실행되도록 합니다.

A. head 태그 정의

예시코드
<html> <head> <meta charset="UTF-8"> <title>Stove Terms</title> <script src="https://js-cdn.gate8.com/libs/stove-js-service/latest/stove-terms.js" defer /> <script> function checkTermsAgreeState() { // 약관 상태 체크 코드 } </script> </head> <body> <button onclick="checkTermsAgreeState">약관 동의 체크</button> </body> </html>
HTML
복사

B. body 하단 정의

예시 코드
<html> <head> <meta charset="UTF-8"> <title>Stove Terms</title> <script> function checkTermsAgreeState() { // 약관 상태 체크 코드 } </script> </head> <body> <button onclick="checkTermsAgreeState">약관 동의 체크</button> <script src="https://js-cdn.gate8.com/libs/stove-js-service/latest/stove-terms.js" defer /> </body> </html>
HTML
복사

03. 약관 체크

약관체크 메서드(stoveTerms.checkAgreeState({}))를 통해서 사용자의 약관(서비스이용약관) 동의 여부 상태를 확인하기 위해 사용됩니다.

A. Parameter

Parameter
Type
Requirement
Default Value
Description
service_id
String
Y
-
서비스 기본정보인 game_id 을 전달하면 됩니다.예시) service_id=‘STOVE_EPIC7’
viewarea_id
String
Y
SVC_AG
약관(서비스이용동의)체크- 공홈에서 서비스 이용약관 연동 시 SVC_AG 코드가 디폴드 값 입니다.
nation
String
Y
-
nation 매개변수는 필수값이며, 대문자 국가 코드를 전달합니다.- e.g.) KR

B. Example

약관의 checkAgreeState 메서드를 호출하면 응답값으로 Promise 객체의 then 과 catch 메서드를 통해 결과값을 받을 수 있습니다.
window.stoveJsService.stoveTerms.checkAgreeState({ service_id: 'STOVE_EPIC7', viewarea_id: 'SVC_AG', nation: 'KR' }) .then(isAgreeState => { console.log('약관 동의 유무 체크 성공 시 처리'); }) .catch(error => { console.log('약관 동의 유무 체크 실패 시 처리'); });
JavaScript
복사
사용예제
<html> <head> <meta charset="UTF-8"> <title>Stove Terms</title> <script src="https://js-cdn.gate8.com/libs/stove-js-service/latest/stove-terms.js" defer /> <script> function initializeJsService() { window.stoveJsService = window.stoveJsService || {}; } function errorHandler( errorCode ) { switch (errorCode) { case 40103: // 서비스 이용 시간이 너무 오래되었습니다. 다시 로그인해 주세요.break; case 70051: // 요청 정보가 올바르지 않습니다. 입력값을 확인해 주세요.break; case 70800: // 등록된 약관이 존재하지 않습니다.break; case 'API 리턴 오류 코드': // api 호출 시 발생한 오류에 대한 처리가 필요한 경우 case 추가 정의break; default: // 기타 오류 공통 처리break; } } function moveToExternalWeb() { // 약관 미동의 시 통합약관 페이지로 이동합니다.window.location.href = 'https://policy.gate8.com/?inflow_path=STOVE_EPIC7&game_id=STOVE_EPIC7'; } function checkTermsAgreeState() { if (!window.stoveJsService.stoveTerms) { alert('현재 약관 동의 상태 조회 준비가 되어 있지 않습니다!') return; } window.stoveJsService.stoveTerms.checkAgreeState({ service_id: 'STOVE_EPIC7', viewarea_id: 'SVC_AG', nation: 'KR' }).then(isAgreeState => { // 약관 동의 상태 조회 성공 시 처리 }).catch(error => { // 약관 동의 상태 조회 실패 시 처리errorHandler(error.code) }); } window.addEventListener('DOMContentLoaded', initializeJsService); </script> </head> <body> <button onclick="checkTermsAgreeState">약관 상태 체크</button> </body> </html>
HTML
복사
약관 체크 후 약관(서비스이용약관)이 동의 되지 않은 상태(false) 라면?   - 약관 동의를 받기 위해 통합약관 페이지로 이동하여 약관 동의를 받도록 처리 합니다.   - 통합 약관 연동

C. Error Code

Error Code
Constant
Description
40103
EXPIRED_ACCESS_TOKEN
토큰이 만료되었습니다.
70051
INVALID_REQUEST
잘못된 입력값입니다.
70800
NOT_EXIST_TERMS
약관이 존재하지 않습니다.
70804
GS_NETWORK_ERROR
GS 연동 네트워크 에러가 발생했습니다.
70805
GUID_NETWORK_ERROR
guid 연동 네트워크 에러가 발생했습니다.
70806
NOT_EXIST_SERVICE_ID
service id 정보를 찾을 수 없습니다.
70807
UNKNOWN_GUID_SERVER
guid 서비스에 문제가 있습니다. 잠시 후 다시 시도해 주세요.
70870
NOT_EXIST_CALLER_ID
caller-id 값을 확인해주세요.
70871
NOT_EXIST_CALLER_DETAIL
caller-detail 값을 확인해주세요.

04. 연동 테스트 페이지