- 인쇄
- PDF
Javascript SDK
- 인쇄
- PDF
Classic/VPC 환경에서 이용 가능합니다.
웹에서 게임팟을 연동하기 위한 GAMEPOT Javascript SDK 사용법에 대해 설명합니다. SDK를 설치하고 환경을 구성함으로써 게임과 대시보드를 연동할 수 있습니다.
Javascript용 GAMEPOT SDK를 사용하기 위한 요구 사양은 다음과 같습니다.
- 최소 사양: 크롬 4, IE 8, Firefox 3.5, Safari 4, Opera 10.50 등
SDK 설치 및 환경 구성
JavaScript SDK를 사용하기 위한 기본 설정 방법은 다음과 같습니다.
- gamepot-sdk-javascript-lastest.min.js을 다운로드해 주십시오.
- 다운받은 파일을 gamepot-sdk-javascript-lastest.min.js를 head와 head 사이에 추가해 주십시오.
<head><script src="gamepot-sdk-javascript-lastest.min.js"></script></head> // 혹은 CDN 링크를 바로 사용해도 됩니다. (추천) <head><script src="https://gamepot.gcdn.ntruss.com/gamepot-sdk-javascript-lastest.min.js"></script></head>
GamePot Javascript SDK 는 npm 패키지로 제공되며 yarn을 통해서도 사용할 수 있습니다.
# using npm
npm install gamepot
# using yarn
yarn add gamepot
소셜 로그인 관련 콘솔 내 설정 가이드: 다운로드
사용 가능 로그인: 구글/페이스북/애플 로그인
애플 로그인의 경우 게임팟 대시보드 > 프로젝트 설정 > 일반 > Apple ID Login 항목이 기압되어야 합니다.
로그인하는 도메인의 주소를 게임팟 대시보드 > 프로젝트 설정 > 일반 > WEB- 허용 도메인에 정보가 기입되어야 합니다.
초기화
웹페이지 로딩이 완료될 때 실행할 수 있도록 window.onload = function() {...}
또는 jQuery를 사용하는 경우 $(ducement).ready(function() {...})
블록 내에서 초기화합니다.
<!-- YOUR WEB HTML CODES -->
<script>
window.onload = function () {
// 프로젝트 ID는 게임팟 대시보드에서 확인할 수 있습니다.
var project_id = 'xxxxxxx-xxxx-xxxx-xxxx-xxxxxx';
var gamepotConfig = {
// 공통
api_url: "https://gpapps.gamepot.ntruss.com",
api_key: "XXXXXXXXXXXXX",
// Google 로그인을 사용하는 경우 아래와 같이 Google API 클라이언트 ID를 입력합니다.
google_signin_client_id:"XXXXXXXXXX-XXXXXXXXXXX.apps.googleusercontent.com",
// 페이스북 로그인을 사용하는 경우 아래와 같이 Facebook 앱 ID를 입력합니다.
facebook_app_id: "XXXXXXXXXX",
// 애플 로그인을 사용하는 경우 아래와 같이 애플 콘솔의 Services ID 및 로그인을 시도하는 도메인 주소를 입력합니다.(미사용시 빈값으로 설정)
apple_client_id: "XXXXXXXXXX",
apple_redirect_uri: "https://XXXXXXXXXX"
};
GP.initialize(project_id, gamepotConfig);
};
</script>
Attribute | Description |
---|---|
project_id | 게임팟 대시보드 프로젝트 아이디 |
api_url | 게임팟 대시보드에 연관된 URL (기본적으로 https://gpapps.gamepot.ntruss.com 이나 매니지드 상품 고객의 경우 해당 주소가 다르기 때문에 게임팟에 문의 필요 ) |
api_key | GamePot에서 발급하는 인증 키( 대시보드 > 프로젝트 설정 > API Key) |
google_signin_client_id | 구글 콘솔 내 웹 애플리케이션 아이디 |
facebook_app_id | 페이스북 앱 아이디 |
apple_client_id | 애플 콘솔에 생성한 Services ID |
apple_redirect_uri | 로그인 시도하는 도메인 주소 |
오류 처리
오류 처리 방법은 모두 동일하며, function (user, error) { } 과 같이 error 가 있을 경우에는 메시지를 보여주고 에러가 없을 경우에는 성공으로 리턴한다.
GP.login(GP.ChannelType.EMAIL, function (user, error) {
if(error) { // 로그인실패
alert(error.message); // 실패 메시지
return;
}
alert(user);
});
로그인, 로그아웃
구글, 페이스북, 애플ID 로그인 SDK를 통합하여 사용할 수 있습니다.
로그인
로그인 UI는 개발사에서 구현하고, 로그인 버튼 클릭 시에 연동합니다.
소셜 플랫폼 로그인
// 로그인 타입 정의
// GP.ChannelType.GOOGLE : 구글
// GP.ChannelType.FACEBOOK : 페이스북
// GP.ChannelType.APPLE : 애플ID
// GP.ChannelType.KAKAO : 카카오
// 페이스북 로그인 버튼을 눌렀을 때 호출
GP.login(GP.ChannelType.FACEBOOK, function (user, error) {
if (error) {
alert(error); // 오류 메세지
return;
}
// 로그인 완료
alert(user);
});
소셜 로그인의 자동으로 로그인과 동시에 게임에 가입됩니다. 가입을 원하지 않는 경우 아래 옵션을 추가 하시면 됩니다.
GP.setAuthSignup(false);
USER Data Class
ID | type | desc |
---|---|---|
id | string | 회원 아이디 |
token | string | 로그인 토큰(JWT) |
nickname | string | 닉네임 |
provider | string | 소셜 로그인 종류 |
providerId | string | 소셜 로그인 ID |
verify | string | 인증여부 |
agree | string | 약관 동의 여부 |
이메일 로그인
GP.signin("email", username, password, function(user, err) {
if(err) {
alert(err.message);
} else {
alert(user.id);
}
});
이메일 회원가입
GP.signup("email", username, password, name, function(user, err) {
if(err) {
alert(err.message);
} else {
alert(user);
}
});
로그아웃
현재 회원 계정을 로그아웃합니다.
GP.logout(function (result, error) {
if (error) {
alert(error.message);
}
// 로그 아웃 성공
});
회원 탈퇴
GP.withdraw(function (result, error) {
if (error) {
alert(error.message);
}
// 회원 탈퇴 성공
});
소셜 계정으로 회원 여부 확인
로그인을 한 후에 해당 소셜 계정으로 게임팟내 회원 중에 연동되어 있는지를 확인 합니다.
GP.linkingByUser(channeltype, function( user, error) {
if(error) {
alert(`${error.code}-${error.message}`); // 오류 메세지
return false;
}
if(user == null)
alert('계정 미존재')
else if(user.member_id.id)
alert(user.member_id.id); // 아이디 리턴
});
USER Data Class
ID | type | desc |
---|---|---|
member_id.id | string | 게임팟 회원 아이디 |
username | string | 소셜 아이디 |
4. 플러그인
게임팟 기본 기능 이외에 다양한 외부 모듈고의 연동 기능 등을 지원합니다.
지원 가능 모듈
- 본인 인증(다날)
- 해외 PG(엑솔라)
- 국내 PG(다날)
본인 확인
휴대폰 본인인증 서비스란 본인 명의로 휴대폰을 이용하여 인증 절차를 거쳐 본인 여부와 확인하는 기능입니다. (한국만 가능)
GP.Identity('[본인 확인 코드]',{},function(resp) {
if(resp.success) {
alert(resp.orderId);
} else {
alert(resp.error);
}
});
외부 결제
엑솔라 혹은 다날과 같은 외부PG 를 사용할때 결제창을 보여주는 함수입니다.
function Payment(key) {
GP.Payment(key,
{
userId: "[USERID]",
productId : "[ITEMID]",
name: "[ITEMNAME]",
buyer_name: "[구매자명]",
buyer_email: "[구매자EMAIL]",
},function(resp) {
if(resp.success) {
alert(resp.orderId);
} else {
alert(resp.error);
}
})
}
Attribute | Description |
---|---|
userId | 게임팟 회원 아이디 |
productId | 상품 코드 |
name | 아이템명 |
buyer_name | 구매자명 (option) |
buyer_email | 구매자 이메일 (option) |
playerId | 플레이어 ID (option) |
serverId | 서버 ID (option) |
userdata | 사용자 데이터 (option) |